本文共 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 9list循环
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 C3.列表生成式
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/