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)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章