概述
Python的for循环抽象程度要高于C的for循环,因为Python的for循环不仅可以用在list或tuple上,还可以作用在其他可迭代对象上。list这种数据类型虽然有下标,但很多其他数据类型是没有下标的,但是,只要是可迭代对象,无论有无下标,都可以迭代,比如dict就可以迭代。
遍历列表:
list:
l = []
l = [1,2,3]
from collections import Iterable
list1 = range(10)
if isinstance(list1,Iterable):
for i in list1:
print(i)
如果要对list实现类似Java那样的下标循环怎么办?Python内置的enumerate函数可以把一个list变成"索引-元素对",这样就可以在for循环中同时迭代索引和元素本身:
l = list(list1)
for i,value in enumerate(l):
print(i,value)
===================================================================================
遍历字典:
dict:
d = {‘key1’ : value1, ‘key2’ : value2 }
dict1 = {'a':100,'b':200,'c':300}
for key,value in dict1.items():
print(key,'==' , value)
for key in dict1.keys():
print(key,'==',dict1[key])
for value in dict1.values():
print(value)
列表推导式:
是Python内置的非常简单却强大的可以用来创建list的生成式。
生成list 可以用内置函数range(1,10) 生成[1,2,3,4,5,6,7,8,9]
但是如果是子项*子项的列表呢?如下:
new_list = []
for i in range(1,10):
ii = i * i
new_list.append(ii)
print(new_list)
这种代码比较多,优化一下,可以这样操作:
new_list2 = [x * x for x in range(1,10)]
print(new_list2)
最后
以上就是无语芝麻为你收集整理的python for循环遍历及列表推导式的全部内容,希望文章能够帮你解决python for循环遍历及列表推导式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复