首页 > 代码库 > 每天学点Python之comprehensions
每天学点Python之comprehensions
每天学点Python之comprehensions
推导式能够简化对数据的处理,让代码简洁的同一时候还具有非常高的可读性。这在Python中非经常见。
列表推导式
通过列表推导式能够对列表中的全部元素都进行统一的操作来获得一个全新的列表(原列表不发生变化),形式如[处理方式 for 元素 in 列表]
,当中的处理方式能够是不论什么操作:
>>> a=[1,2,3,4]
>>> [i*2 for i in a]
[2, 4, 6, 8]
>>> a
[1, 2, 3, 4]
>>> [(i*2,i+10) for i in a]
[(2, 11), (4, 12), (6, 13), (8, 14)]
能够通过加上if语句来过滤掉原列表中的一些元素:
>>> a=[1,2,3,4]
>>> [i*2 for i in a if i>2]
[6, 8]
字典推导式
我们能够通过推导式来创建一个字典,只是字典推导式的括号是花括号:
>>> a
[1, 2, 3, 4]
>>> { "str"+str(i):i for i in a }
{‘str3‘: 3, ‘str1‘: 1, ‘str4‘: 4, ‘str2‘: 2}
运用字典推导式有一个妙用,就是能够调换键和值的位置:
>>> a={‘one‘:1,"two":2,"three":3}
>>> {value:key for key,value in a.items()}
{1: ‘one‘, 2: ‘two‘, 3: ‘three‘}
注:确保值也是不可变类型,比如字符串、元组等
集合推导式
集合推导式与字典推导式相似。只是仅仅有一个值而不是键值对:
>>> a={1,2,3,4,5}
>>> {i**2 for i in a if i%2==1}
{1, 9, 25}
每天学点Python之comprehensions
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。