序列
is和is not 检查x和y是否指定的是同一个对象
x = "love"
y = "love"
x is y
True
in和not in 用于判断某个元素是否在序列中
x in y
True
del 用于删除一个或多个指定的对象
x = [1, 2, 3, 4, 5]
del x[1:4]
x
[1, 5]
列表,元组和字符串相互转换的函数list(),tuple(),str()。
list("FishC")
['F', 'i', 's', 'h', 'C']
list(1, 2, 3, 4, 5)
list((1, 2, 3, 4, 5))
[1, 2, 3, 4, 5]
tuple("FishC")
('F', 'i', 's', 'h', 'C')
tuple([1, 2, 3, 4, 5])
(1, 2, 3, 4, 5)
str([1, 2, 3, 4, 5])
'[1, 2, 3, 4, 5]'
str((1, 2, 3, 4, 5))
'(1, 2, 3, 4, 5)'
min() & max() 对比传入的参数并且返回最小值和最大值。
s = [1, 2, 3, 4, 5]
min(s)
1
max(s)
5
len() & sum() len()求长度,sum求和。
s = [1, 0, 0, 8, 6]
sum(s)
15
sorted() & reversed()
s = [1, 2, 3, 0 ,6]
sorted(s)
[0, 1, 2, 3, 6]
s = [1, 2, 5, 8, 0]
reversed(s)
<list_reverseiterator object at 0x000001B9BE71A5C0>
list(reversed(s))
[0, 8, 5, 2, 1]
all() & any() all()函数判断可迭代对象中是否所有元素的值都为真,any()函数则是判断可迭代对象中是否存在某个元素的值为真。
x = [1, 2, 0]
y = [1, 2, 3]
all(x)
False
all(y)
True
any(x)
True
any(y)
True
enumerate() enumerate()函数用于返回一个枚举对象,它的功能就是将可迭代对象
中的每个元素及从0开始的序号共同构成一个二元组的列表。
seasons = ["Spring","Summer","Fall","Winter"]
enumerate(seasons)
<enumerate object at 0x000001B9BE55C9C0>
list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
list(enumerate(seasons,10))
[(10, 'Spring'), (11, 'Summer'), (12, 'Fall'), (13, 'Winter')]
zip() zip()函数用于创建一个聚合多个可迭代对象的迭代对象的迭代器。
它会将作为参数传入的每个可迭代对象的每个元素依次组合成元组,
即第i个元组包含来自每个参数的第i个元素。
x = [1, 2, 3]
y = [4, 5, 6]
zipped = zip(x, y)
zipped
<zip object at 0x000001B9BE5CE4C0>
list(zipped)
[(1, 4), (2, 5), (3, 6)]
z = [7, 8, 9]
zipped = zip(x, y, z)
list(zipped)
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
x = [1, 2, 3]
y = [4, 5, 6]
z = "FishC"
zipped = zip(x, y ,z)
list(zipped)
[(1, 4, 'F'), (2, 5, 'i'), (3, 6, 's')] 如果长度不同按最短计算。
map() map()函数会根据提供的函数对指定的可迭代对象的每个元素进行运算,并将返回运算结果的迭代器。
mapped = map(ord, "FishC")
list(mapped)
[70, 105, 115, 104, 67]
filter() filter()函数会根据提供的函数对指定的可迭代对象的每个对象进行运算,并将运算结果为真的元素,以迭代器的形式返回。
list(filter(str.islower,"FishC"))
['i', 's', 'h']
迭代器 vs 可迭代对象
一个迭代器肯定是一个可迭代对象
区别:可迭代对象可以重复使用而迭代器则是一次性的。