Python札记13_内建函数zip、enumerate

Python中有很多的内建函数,zip()enumerate()

zip

  • zip用于合并两个对象中的元素,合并的两个元素类型必须是一致的
  • 如果长度不一致,采用长度小的
  • 其参数必须是可迭代对象
Python札记13_内建函数zip、enumerate_第1张图片
image.png
Python札记13_内建函数zip、enumerate_第2张图片
image.png
Python札记13_内建函数zip、enumerate_第3张图片
image.png
image.png

一个例题:通过zip函数实现字典中键、值位置的互换
dict1 = {"name": “Peter”, "lang": "python", "city": "shenzhen"}

方法一:通过for遍历出字典中的key-value值,再互换

dict1 = {"name": "Peter", "lang": "python", "city": "shenzhen"}
dict2 = {}
for k,v in dict1.items():   # 先遍历所有的键值对
    dict2[v]=k  # 在新的字典中,将dict1的键作为值保存在dict2中
print(dict2)

{'Peter': 'name', 'python': 'lang', 'shenzhen': 'city'}

方法二:通过zip函数实现

dict(zip(dict1.values(),dict1.keys()))
Python札记13_内建函数zip、enumerate_第4张图片
image.png

enumerate()

  • enumerate()是python的内置函数
  • enumerate在字典上是枚举、列举的意思
  • 对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值
  • enumerate多用于在for循环中得到计数

通过一个例子来了解枚举enumerate()函数的功能:取出给定列表中的索引和对应的元素
list1 = ["python", "java", "php", "Go"]

方法1:for遍历

list1 = ["python", "java", "php", "Go"]
for i in range(len(list1)):
    print(str(i) + " is " + list1[i])

方法二:枚举enumerate

list1 = ["python", "java", "php", "Go"]
for i, language in enumerate(list1):
    print(str(i) + " is " + list1[i])

0 is python
1 is java
2 is php
3 is Go
Python札记13_内建函数zip、enumerate_第5张图片
image.png

例子:将字符串中的java替换成python

  • enumerate()函数的结果中少了问号,不完美
    Python札记13_内建函数zip、enumerate_第6张图片
    image.png

replace方法解决,完美

raw = "Do you love java? java is a good language."
raw_string = raw.replace("java", "python")
print(raw_string)

你可能感兴趣的:(Python札记13_内建函数zip、enumerate)