飞道的博客

Python数据类型(五):序列操作(all、any、sort、sorted、reserver、zip、enumerate)

234人阅读  评论(0)

作者在后面又新学了几个序列的操作,对Python数据类型(一):序列索引切片、字符串类型及常用方法这篇文章进行补充。

序列操作

all(iterable) 与运算

可迭代参数iterable为元组或列表
若可迭代参数 iterable 中所有元素都为 True,all(iterable)返回True,否则返回False
相当于对iterable进行与运算
若元素为 数字0 / None / False 则表示该元素为False,否则该元素为True
空元组合空列表返回值为True!!!

print(all( '' )) # 空字符串
print(all( [] )) # 空列表
print(all( () )) # 空元组

print(all( (0,3,3) ))
print(all( [3,4,5] ))
print(all( [3,4,5,None] )) # None表示空元素

print(all([3,4,False]))

'''
True
True
True
False
True
False
False
'''

any(iterable) 或运算

若可迭代参数iterable全部为False,返回False,否则返回True
相当于对iterable进行或运算

print(any( [] ))
print(any( () ))
print(any( [3,4,False] ))
print(any( [False,None] ))

'''
False
False
True
False
'''

sort() && sorted() 排序

sort()
无返回值
只能用于List类型
不能用于Tuple类型,因为不能被修改

sorted(iterable, cmp, key, reverse=boolean)
返回值为排序后的序列
iterable:需要排序的可迭代参数,可以是字符串,元组,列表,字典

reverse:排序方式,默认为False,升序;True,降序。

li=[3,5,43,1,45,32]
li.sort()
print(li)


li=[3,5,23,1,45,32]
tup = (3,5,2,9)
sortedList1=sorted(li)
sortedList2=sorted(li,reverse=True) # 降序排序
sortedTuple=sorted(tup,reverse=True) # 元组类型排序后返回List类型
print(sortedList1)
print(sortedList2)
print(sortedTuple)

'''
[1, 3, 5, 32, 43, 45]
[1, 3, 5, 23, 32, 45]
[45, 32, 23, 5, 3, 1]
[9, 5, 3, 2]
'''

reserver() 反向排列

无返回值
反向排列List数据

li=[3,5,23,1,45,32]
li.reverse()
print(li)

'''
[32, 45, 1, 23, 5, 3]
'''

zip() 打包成元组

语法:zip(iterable1,iterable2,…)
将iterable对应的元素打包成一个个元组,若要使用需要用list()将其转换为列表
若长度不一致,则以长度最短的为返回长度

c = zip([3,5,7])
print(list(c))

print(zip([3,4,6],['sss','sdd','444']))
a = zip([3,4,6],['sss','sdd','444'])
print(list(a))
b = zip([3,4,6],['sss','sdd','444','dsf'])
print(list(b))

d1 = zip([5,6,8],['dds','ffs','trr'],[True,False,False])
print(list(d1))
d2 = zip([5,6,8],['dds','trr'],[True,False,False,True])
print(list(d2))

'''
[(3,), (5,), (7,)]
<zip object at 0x00000273B7F02A40>
[(3, 'sss'), (4, 'sdd'), (6, '444')]
[(3, 'sss'), (4, 'sdd'), (6, '444')]
[(5, 'dds', True), (6, 'ffs', False), (8, 'trr', False)]
[(5, 'dds', True), (6, 'trr', False)]
'''

enumerate() 打包元素和索引值

语法:enumerate(list/tuple/str)
将每个元素与其对应的索引值封装成一个元组,若要使用需要用list()将其转换为列表
如果是字典类型数据,封装索引值和键,与值无关
一般用在for循环中

for index,item in enumerate(list/tuple/str):
	# index  索引值
	# item   索引值对应的元素
    pass
list1 = ['spring','summer','autunm','winter']
print(list(enumerate(list1)))
print(list(enumerate(list1,start=4))) #索引值从4开始

for index,item in enumerate(list1):
    print(index,end=':')
    print(item)
    pass

#如果是字典类型数据,封装索引值和键,与值无关
dict1 = {
   'name':'zzd','age':23,'class':'19计算机'}
for item in enumerate(dict1):
    print(item)
    pass
'''
[(0, 'spring'), (1, 'summer'), (2, 'autunm'), (3, 'winter')]
[(4, 'spring'), (5, 'summer'), (6, 'autunm'), (7, 'winter')]
0:spring
1:summer
2:autunm
3:winter
(0, 'name')
(1, 'age')
(2, 'class')
'''

转载:https://blog.csdn.net/Dae_Lzh/article/details/117201574
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场