列表生成式和字典生成式

列表生成式

  • 列表生成式可以简化很多关于列表的操作

[1]定义列表

num_list = [i for i in range(6)]
print(num_list) # [0, 1, 2, 3, 4, 5]

[2]对列表中的值进行遍历的处理

# 对列表里的每个元素都进行去除空格的操作.strip(),在赋值给原来的列表
animal_list = ['   lion', 'dog    ', '   cat  ']
animal_list = [i.strip() for i in animal_list]
print(animal_list)  # ['lion', 'dog', 'cat']

[3]还可以进行复杂一些的嵌套循环

list_1 = [1, 2, 3]
list_2 = [4, 5, 6]


# 使list_1 和	list_2 列表里的元素两两相乘,并放入列表
list_3 = [i * j for i in list_1 for j in list_2]
print(list_3)  # [4, 5, 6, 8, 10, 12, 12, 15, 18]

#还可以在生成的列表中嵌套列表
list_4 = [[i, i * j] for i in list_1 for j in list_2]
print(list_4)
#[[1, 4], [1, 5], [1, 6], [2, 8], [2, 10], [2, 12], [3, 12], [3, 15], [3, 18]]

字典生成式

  • 有了列表推导式的概念,字典推导式学起来就非常简单了,语法格式如下:
# {键:值 for 迭代变量 in 可迭代对象 [if 条件表达式]}
dict_1 = {key: value for key in range(3) for value in range(3)}
print(dict_1)  # {0: 2, 1: 2, 2: 2}
posted @   桃源氏  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示