关闭

python语句(4)

标签: Python
138人阅读 评论(0) 收藏 举报
分类:
语句(4)


并行迭代


迭代,在python中表现就是用for循环,从序列对象中获得一定数量的元素。


计算这两个列表中对应元素的和。
>>> a = [1,2,3,4,5]
>>> b = [9,8,7,6,5]
>>> c = []
>>> for i in range(len(a)):
c.append(a[i]+b[i])



>>> c
[10, 10, 10, 10, 10]


>>> zip(a,b)
[('q', 'g'), ('i', 'i'), ('w', 't'), ('s', 'h'), ('i', 'u'), ('r', 'b')]
如果序列长度不同,那么就以最短的为准。




>>> s = {"name":"qiwsir"}
>>> t = {"lang":"python"}
>>> zip(s,t)
[('name', 'lang')]
zip是一个内置函数,它的参数必须是某种序列数据类型,如果是字典,那么键视为序列。然后将序列对应的元素依次组成元组,作为一个list的元素。


>>> a = [1,2,3,4,5]
>>> b = [9,8,7,6,5]
>>> d = []
>>> for x,y in zip(a,b):
d.append(x+y)



>>> 
>>> d
[10, 10, 10, 10, 10]






问题:有一个dictionary,myinfor = {"name":"qiwsir","site":"qiwsir.github.io","lang":"python"},将这个字典变换成:infor = {"qiwsir":"name","qiwsir.github.io":"site","python":"lang"}


>>> myinfor = {"name":"qiwsir","site":"qiwsir.github,io","lang":"python"}
>>> infor = {}
>>> for k,v in myinfor.items():
infor[v]=k



>>> infor
{'python': 'lang', 'qiwsir.github,io': 'site', 'qiwsir': 'name'}






enumerate








list解析
得到1到9的每个整数的平方。
>>> power2 = []
>>> for i in range(1,10):
power2.append(i*i)



>>> power2


[1, 4, 9, 16, 25, 36, 49, 64, 81]


一种优雅的解法:
>>> squares = [x**2 for x in range(1,10)]
>>> squares
[1, 4, 9, 16, 25, 36, 49, 64, 81]



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:138454次
    • 积分:4202
    • 等级:
    • 排名:第7748名
    • 原创:279篇
    • 转载:59篇
    • 译文:0篇
    • 评论:5条
    最新评论