美文网首页
Python Day49&50(for循环语句整理)

Python Day49&50(for循环语句整理)

作者: TianAff | 来源:发表于2017-07-23 11:12 被阅读0次
班长的图

Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。

一、Python 循环遍历列表元素

1.for i in list():

2.for i in enumerate(list):

2.for i in range(len(list)):

for i in list(): for i in enumerate(list): for i in range(len(list)):

二、Python 循环遍历字典元素

1.for k,v in dict.items():

2.for k,v in dict.iteritems():

3.for k,v in zip(dict.iterkeys(),dict.itervalues()):

4.for i in dict.keys():

5.for i in dict.values():

6.for i in sorted(dict.keys()):

(一)dict.keys() VS  dict.values()

for i in dict.keys()方法 for i in dict.values()方法

可以发现,keys()是取出字典的所有键出来。由于字典是hash的,你只能从key找到value,但不能从value找到确切的key。

(二)字典顺序

字典本身是一个无序的,和赋值的顺序无关。打个比方,字典就是一本本的书随意扔进了图书馆,你要找到他只能凭书号。

字典元素的顺序通常没有定义。换句话说,迭代的时候,字典中的键和值都能保证被处理,但是处理顺序不确定。

字典本身无序

如下图,可以看到和赋值顺序无关:

for k,v in dict.items()方法 for k,v in dict.iteritems()方法 for k,v in zip(dict.iterkeys(),dict.itervalues())方法

上述方法会将键–值对作为元组返回。

字典如何有序

字典有序,可以理解为,把key进行排序后,输出:

sorted–使得字典有序 如果顺序很重要的话,可以将键值保存在单独的列表中,例如迭代前进行排序。 迭代前排序

对于上述所有方法的比较没有找到什么资料,只知道dict.items()速度上最慢,dict.iteritems()方法,因为不是一次生成所有对象,而是用一个生成一个,无论在速度上还是内存占有上都有优势。

相关文章

网友评论

      本文标题:Python Day49&50(for循环语句整理)

      本文链接:https://www.haomeiwen.com/subject/kxipkxtx.html