本篇札记对
Python中几个比较特殊函数进行一个总结,文中提到的函数在前面的札记基本上都有阐述,本文主要是复习巩固和总结的作用,温如而知新。
- reverse
- reversed
- sort
- sorted
- fromkeys
- items、keys、values
- enumerate
- zip
- reverse
- 原地修改,不生成新的列表
- 没有返回值
list2 =[1, 2, 4, 5]
list2.reverse()
list2

image.png
- reversed
- 反转功能
- 参数是可迭代对象
- 返回对象用list进行显示
list1 = [1, 2, 3, 4]
list(reversed(list1)) # 列表反转
list(reversed("abcd")) # 字符串反转

image.png
list(reversed(range(10))) # 进行翻转
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
- sort
- 原地修改
- 没有返回值
- 默认是从小到大排序,通过reverse=True修改成从大到小
a = [1, 4, 2, 3]
a.sort() # 默认是从小到大
a
a.sort(reverse=True) # 从大到小
a

image.png
- sorted
- 类似于reversed函数
- reverse=True修改排序方式
- 从任意序列的元素中返回一个排好序的列表,
得到的是列表list
sorted([1,4,2,9,5,8])
[1, 2, 4, 5, 8, 9]

image.png

image.png
b = sorted(a) # 从小到大
b
b = sorted(a, reverse=True) # 从大到小

image.png
- fromkeys
- 利用fromkeys函数创建字典,字典中的所有值value都是一样
- 字典中键必须是不可变的数据类型
dict1 = {}.fromkeys(("shenzhen", "guangzhou"), "guangdong")
dict1

image.png
- items、keys、values
通过items、keys、values可以直接字典中的键值对或者分别访问键、值等。
dict1 = {"city": "shenzhen", "province": "guangdong", "language": "python"}
for k, v in dict1.items(): # 获取键值对
print(k, v)
for k in dict1.keys(): # 获取键key
print(k)
for v in dict1.values(): # 获取值value
print(v)

image.png
- enumerate:返回的是(i, value)元组序列
list7 = ["python", "java", "html", "Ruby"]
dict1 = { }
for k, v in enumerate(list7):
dict1[v] = k
print(dict1)
{'python': 0, 'java': 1, 'html': 2, 'Ruby': 3}

image.png
- zip
将多个元组、列表或者序列组合成一个新的元组。sequence--->tuple。生成的长度取决于最短的序列长度。
list9 = ["python", "java", "html"]
list10 = ["shenzhen", "suzhou","zhuhai"]
zipped = zip(list9, list10) # 得到zip对象
list(zipped) # 通过列表进行展示
[('python', 'shenzhen'), ('java', 'suzhou'), ('html', 'zhuhai')]

image.png
zipped2 = zip(list1,tuple2,seq) # 生成新序列的长度取决于最短的序列。seq长度为2
list(zipped2)
[(1, 9, False), (9, 8, True)]

image.png
zip和enumerate联用
list1 = ["python","java","html"]
list2 = [9,6,2]
for a, (b,c) in enumerate(zip(list1, list2)): # 先zip合并,再enumerate同时取索引和元素
print("{0}:{1} {2}".format(a, b, c))
结果:
0:python 9
1:java 6
2:html 2

image.png
zip进行解压
zip函数有一种类似于zip的功能,用来解压序列。
list3 = [("python", 0), ("html", 1), ("java", 2), ("javascript", 3)]
values, numbers = zip(*list3)
values
结果
('python', 'html', 'java', 'javascript')

image.png