0
点赞
收藏
分享

微信扫一扫

Python笔记12-推导式

爱做梦的夏夏 2022-02-18 阅读 73

作用:用一个表达式创建一个有规律的列表或控制一个有规律的列表。
列表推导式又称列表生成式。

1. 一般列表推导式
示例:创建列表[0-9]

  • while循环
# while循环
list1 = []
i = 0
while i < 10:
    list1.append(i)
    i += 1
print(list1) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
  • for循环
# for循环
list1 = []
for i in range(10):
    list1.append(i)
print(list1) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
  • 列表推导式
# 列表推导式
list1 = [i for i in range(10)]
print(list1) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

2. if列表推导式
示例:创建[0-9]偶数列表

  • range()
list1 = [i for i in range(0, 10, 2)]
print(list1) # [0, 2, 4, 6, 8]
  • if列表推导式
list1 = [i for i in range(10) if i % 2 == 0]
print(list1) # [0, 2, 4, 6, 8]

3. for嵌套列表推导式
示例:

list1 = [(i, j) for i in range(2, 5) for j in range(2, 5)]
print(list1) # [(2, 2), (2, 3), (2, 4), (3, 2), (3, 3), (3, 4), (4, 2), (4, 3), (4, 4)]

1. 一般字典推导式
示例:

dict1 = {i: i * 5 for i in range(1, 6)}
print(dict1) # {1: 5, 2: 10, 3: 15, 4: 20, 5: 25}

2. 列表合并为字典推导式
示例:

list1 = ['name', 'age', 'id']
list2 = ['Jack', 12, '123']
dict1 = {list1[i]: list2[i] for i in range(len(list1))}
print(dict1) # {'name': 'Jack', 'age': 12, 'id': '123'}

3. 提取元素字典推导式
示例:

p1 = {'Jack': 12, 'Travis': 18, 'Taylor': 21}
p2 = {key: value for key, value in p1.items() if value >= 18}
print(p2) # {'Travis': 18, 'Taylor': 21}

示例:

list1 = [12, 23, 34, 12]
set1 = {i * 5 for i in list1}
print(set1) # {170, 115, 60}

12
Levi_5

举报

相关推荐

0 条评论