您的位置: 网站首页> IT爱问> 当前文章
python面试:列表推导式、集合推导式、字典推导式差别
老董2020-07-31190围观,110赞
推导式(又称解析式),是Python的一种独有特性。推导式是可以从一个数据序列构建另一个新的数据序列的结构体。字典、列表、集合推导式可以轻松创建字典和列表和集合的语法结构。
1、列表(list)推导式
列表解析式是将一个列表(实际上适用于任何可迭代对象)转换成另一个列表的工具。并且在转换过程中,可以指定元素必须符合一定的条件,才能添加至新的列表中,这样每个元素都可以按需要进行转换。if语句可以省略。
基本语法:new_list = [expression(i) for i in old_list if condition(i)]
# -*- coding: utf-8 -*- lis = [str(i) + 'a' for i in range(30) if i % 2 is 0] print(lis)
['0a', '2a', '4a', '6a', '8a', '10a', '12a', '14a', '16a', '18a', '20a', '22a', '24a', '26a', '28a']
2、字典(dict)推导式
字典推导和列表推导的使用方法是类似的,只不中括号该改成大括号。if语句可以省略。
基本语法:{表达式 for 迭代变量 in 可迭代对象 if 条件表达式}
# -*- coding: utf-8 -*- # 更换key和value kv = {'a': 10, 'b': 20} new_kv = {v:k for k, v in kv.items()} print(new_kv)
{10: 'a', 20: 'b'}
3、集合(set)推导式
集合推导式和列表推导式极其相似,用法也完全一样,唯一的区别就在于将代表列表的符号[ ]替换成代表几个的符号{ }。if语句可以省略。
基本语法:{ 表达式 for 迭代变量 in 可迭代对象 if 条件表达式 }
# -*- coding: utf-8 -*- new_date = {x**2 for x in [1,2,3,4] if x > 2} print(new_date) # 集合是无序的
{16,9}
本文就此结束,感谢IT人士的关注python面试:列表推导式、集合推导式、字典推导式差别,本文合作企业直达:更多推荐。
很赞哦!
python编程网提示:转载请注明来源www.python66.com。
有宝贵意见可添加站长微信(底部),获取技术资料请到公众号(底部)。同行交流请加群
相关文章
文章评论
-
python面试:列表推导式、集合推导式、字典推导式差别文章写得不错,值得赞赏