Python列表、字典与集合推导式详解及代码示例
本文详细介绍Python中列表、字典和集合推导式的语法结构与应用场景。通过对比普通循环与推导式的写法,展示如何高效生成数据列表、提取特定类型元素以及交换字典键值。同时解析推导式的嵌套执行顺序,帮助开发者写出更简洁高效的Python代码。
Python推导式基础语法
列表推导式的基本语法格式为:[结果表达式 for 变量 in 可迭代对象 if 筛选条件]。
字典推导式的语法格式为:{结果表达式 for 变量 in 可迭代对象 if 筛选条件},其中结果部分需返回 key:value 形式的键值对。
集合推导式的语法格式为:{结果表达式 for 变量 in 可迭代对象 if 筛选条件},其结果作为集合的 key,且集合具备自动去重的功能。
列表推导式的执行顺序遵循嵌套关系:左侧第二个语句(for子句)代表最外层循环,依次向右层级递减,左侧第一条语句(结果表达式)位于最内层。
列表推导式实战:生成特定数字列表
示例目标:生成一个包含1到100之间所有个位数为3的数字列表。
以下是使用普通循环方式实现的代码示例。
#生成一个存放1-100中个位数为3的数据列表
# 普通写法
list =[]
for i in range(1,101):
if i % 10 == 3:
list.append(i)
print(list)
#列表推导
list1=[i for i in range(1,101) if i % 10==3]
print(list1)
列表推导式实战:类型过滤与字典/集合推导示例
利用列表推导式从混合类型列表中提取整数元素,原始列表为[True, 33, "ll", "kk", 44, 34, 0]。
#利用列表推到是将 列表中的整数提取出来[True, 17, "hello", "bye", 98, 34, 21]
values =[True, 33, "ll", "kk", 44, 34, 0]
#type()校验数据类型
nums =[i for i in values if type(i) == int]
print(nums)
# 字典推导式:把字典中的key:value互换, {"b":"a","d":"c"}
dic = {"a":"b", "c":"d"}
new_dic = {dic[key]:key for key in dic} # key值是里面的 key = a,key = c
print(new_dic) # key = a,key = c dic[key] = b, d
lst1 = ["唐人街探案","Q","5颗星","悬疑"]
lst2 = ["电影", "第一", "评分", "类型"]
dic = {lst2[i]:lst1[i] for i in range(len(lst1))}
print(dic)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













