博客
关于我
python基础知识(3)
阅读量:168 次
发布时间:2019-02-28

本文共 2528 字,大约阅读时间需要 8 分钟。

1.去除字符串首尾的空格

方法1:切片(list、str和tuple都有切片的功能)

str = ' abcde 'print(str[1:len(str)-1])

方法二:strip()方法---该方法只能删除开头或是结尾的字符,不能删除中间部分的字符

语法:

str.strip([chars]);  chars -- 移除字符串头尾指定的字符序列。
str = "00000003210Runoob01230000000";printstr.strip('0');  # 去除首尾字符 0str2 = "   Runoob      ";  # 去除首尾空格printstr2.strip();

2.迭代----------在Python中,迭代是通过for ... in来完成的(str、list、tuple、dict)

d = {'a': 1, 'b': 2, 'c': 3}>>> for key in d:...     print(key)

默认情况下,dict迭代的是key。如果要迭代value,可以用for value in d.values(),如果要同时迭代key和value,可以用for k, v in d.items()

dict={'age':'10','sex':'女'}#对key值迭代for key in dict:    print(key)>>>sexage#对value迭代for value in dict.values():    print(value)>>>女10#对key、value同时迭代for k,v in dict.items():    print(k,v)

>>>

sex 女
age 10备注:dict.items()得到的结果:[('age','10'),('sex','女')]

for x, y in [(1, 1), (2, 4), (3, 9)]: print(x, y)

》》》

1 1

2 4
3 9

list循环

list=['acd','def','ghr']

for i in list:

print (i)---------得到的是list的内容:acd  def ghr

for i in range(len(list)):

print(i)----------得到的是list中每个元素的下标:0 1 2

print(list[i])-----得到的是list中的内容acd  def ghr

 

1)只要是可迭代对象,无论有无下标,都可以迭代,通过collections模块的Iterable类型判断一个对象是可迭代对象;isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type(),但是type()不考虑继承关系

>>>a = 2>>> isinstance (a,int)Tru
>>> from collections import Iterable>>> isinstance('abc', Iterable) # str是否可迭代True>>> isinstance([1,2,3], Iterable) # list是否可迭代True>>> isinstance(123, Iterable) # 整数是否可迭代False

2)如何实现下标循环?使用内置的enumerate函数可以把一个list变成索引-元素对,这样就可以在for循环中同时迭代索引和元素本身:

for i, value in enumerate(['A', 'B', 'C']):...     print(i, value)

》》》

0 A

1 B
2 C

3.列表生成式

1)生成数列:  list(range(1,11))-----------[1,2,3,4,5,6,7,8,9,10]

2)实现阶乘运算:

a)for循环

l=[]for i in range(1,11):    l.append(i * i)    print(l)

b)列表生成式

l=[i*i for i in range(1,5)]print(l)

----------------------------------高阶函数--------------------------------------------------

1.排序算法--sorted()方法

语法:

sorted(iterable, key, reverse)

sorted()排序的关键在于实现一个映射函数。

排序的对象可以是数字、list、str、dict等,如:

1)对list进行排序

>>> sorted([36, 5, -12, 9, -21])[-21, -12, 5, 9, 36]

2)sorted()函数也是一个高阶函数,它还可以接收一个key函数来实现自定义的排序,例如按绝对值大小排序:

>>> sorted([36, 5, -12, 9, -21], key=abs)[5, 9, -12, -21, 36]

3)对str排序

a)默认情况下,对字符串排序,是按照ASCII的大小比较的,由于'Z' < 'a',结果,大写字母Z会排在小写字母a的前面。

>>> sorted(['bob', 'about', 'Zoo', 'Credit'])['Credit', 'Zoo', 'about', 'bob']

b)忽略大小写,按照字母序排序,,传入key函数,即可实现忽略大小写的排序:

>>> sorted(['bob', 'about', 'Zoo', 'Credit'], key=str.lower)['about', 'bob', 'Credit', 'Zoo']

要进行反向排序,不必改动key函数,可以传入第三个参数reverse=True

>>> sorted(['bob', 'about', 'Zoo', 'Credit'], key=str.lower, reverse=True)['Zoo', 'Credit', 'bob', 'about']

转载地址:http://apnj.baihongyu.com/

你可能感兴趣的文章
Myeclipse常用快捷键
查看>>
MyEclipse更改项目名web发布名字不改问题
查看>>
MyEclipse用(JDBC)连接SQL出现的问题~
查看>>
mt-datetime-picker type="date" 时间格式 bug
查看>>
myeclipse的新建severlet不见解决方法
查看>>
MyEclipse设置当前行背景颜色、选中单词前景色、背景色
查看>>
Mtab书签导航程序 LinkStore/getIcon SQL注入漏洞复现
查看>>
myeclipse配置springmvc教程
查看>>
MyEclipse配置SVN
查看>>
MTCNN 人脸检测
查看>>
MyEcplise中SpringBoot怎样定制启动banner?
查看>>
MyPython
查看>>
MTD技术介绍
查看>>
MySQL
查看>>
MySQL
查看>>
mysql
查看>>
MTK Android 如何获取系统权限
查看>>
MySQL - 4种基本索引、聚簇索引和非聚索引、索引失效情况、SQL 优化
查看>>
MySQL - ERROR 1406
查看>>
mysql - 视图
查看>>