Python基础-高级特性【迭代/列表生成式】(6)

迭代:

任何可迭代对象都可以使用for循环进行进行迭代。

判断当前对象是否有可迭代性

list,tuple.dict,string等对象都是可迭代的,但是数字不行。

from collections import Iterable
a=[1,2,3,4]
print(isinstance(a,Iterable))
dict={'a':1,'b':20,'c':3}
#对key值进行迭代,顺序不唯一
for key in dict:
    print(key)
#对value值进行迭代,顺序不唯一
for val in dict.values():
    print(val)
#对键值对进行迭代/支持多个值迭代
for key,val in dict.items():
    print(key+" : "+str(val))
#将按照下标对key进行迭代,key的顺序不唯一
#上面的操作都可以做
for key in enumerate(dict):
    print(key)
'''
(0, 'c')
(1, 'b')
(2, 'a')
'''
list=[1,2,3,4,5,6,7]
# 按照下标进行迭代。list类型顺序唯一
for i in enumerate(list):
    print(i)
'''
(0, 1)
(1, 2)
(2, 3)
(3, 4)
(4, 5)
(5, 6)
(6, 7)
'''

列表生成式:

#生成1-10的整数列表
a=list(range(1,11))
print(a)
#使用for循环来生成指定要求的列表
b=[x*x for x in range(1,11)] #[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
#双重for循环生成全排列
b=[m+n for m in 'abc' for n in 'zxk']# ['az', 'ax', 'ak', 'bz', 'bx', 'bk', 'cz', 'cx', 'ck']
print(b)

你可能感兴趣的:(Python基础-高级特性【迭代/列表生成式】(6))