列表、元组和字符串的共同点:
- 都可以通过索引得到每一个元素
- 默认的索引值总是从0开始
- 可以通过分片的方法得到一个范围内的元素的集合
- 有很多共同的 操作符(重复操作符、拼接操作符、成员关系操作符)
一、list()把一个可迭代对象转换为列表
通过help()方法,我们可以看到list本身作为一个方法,它的两个形态。
Help on class list in module builtins:
class list(object)
| list(iterable=(), /)
例如:
str1="I love you"
print(list(str1))
#输出
['I', ' ', 'l', 'o', 'v', 'e', ' ', 'y', 'o', 'u']
二、tuple()把一个可迭代对象转换为元组
通过help()方法,我们可以看到tuple本身作为一个方法,它的两个形态。
Help on class tuple in module builtins:
class tuple(object)
| tuple(iterable=(), /)
那么它和list()方法使用起来都相似,就不举例了。
三、max()和min()方法
max():返回序列或参数集合中的最大值。
min():返回序列或参数序列中的最小值。
a="I love you"
print(max(a))
y #输出
字符之间是通过ASCII码进行比较。
max()和min()方法中的参数的类型必须相同:
list1=[1,89,-78,0,21,'a']
print(max(list1))
#错误提示
TypeError: '>' not supported between instances of 'str' and 'int'
max()和min()方法是不支持字符串型和整型之间的比较。
四、sum(iterable[,start=0])返回序列iterable和可选参数start的总和
numbers=[1.2,3.4,5.6]
print(sum(numbers,1))
11.2 #输出
但是sum()不能实现字符串与数字之间的相加
numbers=[1.2,3.4,5.6]
numbers.append('a')
print(sum(numbers,1))
#错误提示
TypeError: unsupported operand type(s) for +: 'float' and 'str'
sum()也不支持字符串型的相加
chars="I love you"
print(sum(chars))
#错误提示
TypeError: unsupported operand type(s) for +: 'int' and 'str'
五、sorted(iterable, key=None, reverse=False)函数对所有可迭代的对象进行排序操作。
key :主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse:排序规则,re
verse = True 降序 , reverse = False 升序(默认)。
sort()与sorted()的区别:
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
六、reversed(list/tuple/string/range)返回一个反转的迭代器
当我们直接使用reversed()方法时:
numbers=[1,2,3,4]
print(reversed(numbers))
#输出
<list_reverseiterator object at 0x000000684FD3C088>
此处返回的是一个迭代器,我们可以通过list()方法将它转换为一个列表。
numbers=[1,2,3,4]
print(list(reversed(numbers)))
[4, 3, 2, 1] #输出
七、enumerate(interable, [start=0])函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
start:下标起始位置。
seasons=['Spring','Summer','Fall','Winter']
print(enumerate(seasons))
#输出
<enumerate object at 0x0000004FAC194D68>
它的返回值是一个枚举对象,我们也可以通过list()方法将他们转换为列表显示出来。
seasons=['Spring','Summer','Fall','Winter']
print(list(enumerate(seasons)))
#输出
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
八、zip(interable,…)函数
a=[1,2,3,4,5]
b=["runoob",'baidu','goole']
print(list(zip(a,b)))
[(1, 'runoob'), (2, 'baidu'), (3, 'goole')]
与zip相反,zip(*)可解释为解压
a=[1,2,3,4,5]
b=["runoob",'baidu','goole']
print(list(zip(a,b)))
a1,b1=zip(*zip(a,b))
print(list(a1))
print(list(b1))
#输出
[(1, 'runoob'), (2, 'baidu'), (3, 'goole')]
[1, 2, 3]
['runoob', 'baidu', 'goole']