Python札记26_python特殊函数详解

本篇札记对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
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容