1 遍歷
1.1 什么是遍歷?
- 可以遍歷的元素:字符串、列表、元組、字典、集合
- 字符串是可以進行for 循環。(容器對象,序列)
- 可迭代對象iterable
例子:
1 )、for遍歷字符串:
name ='xiaoming'
for e in name:print(e)-------------------結果------------
x
i
a
o
m
i
n
gProcess finished with exit code 0
2 )、for循環遍歷列表
#播放歌曲
songs = ['晴天', '花海', '新地球', '雨愛', '舞娘', '逆戰']
print("正在播放歌曲:{}".format(songs[0]))
print("正在播放歌曲:{}".format(songs[1]))
print("正在播放歌曲:{}".format(songs[2]))#怎么順序播放song
#for循環,遍歷,迭代,是字典播放所有列表(序列)當中的元素
#element 代表通過變量element接受songs的每一個元素
for element in songs:#print(element)print("正在播放的歌曲:{}".format(element))------------結果------------------
正在播放的歌曲:晴天
正在播放的歌曲:花海
正在播放的歌曲:新地球
正在播放的歌曲:雨愛
正在播放的歌曲:舞娘
正在播放的歌曲:逆戰
#遍歷列表其他用法
dalao = ['q', 'ee', 'aaa']
for i in dalao[1:]:print(i)#對字符串進行foe循環,打印每一個字符
for i in dalao[1]:print(i)----結果----------------------
ee
aaa
e
e
3)、for遍歷字典
#元組可不可以使用循環,可以
#字典可不可以使用for循環?
#對字典使用for循環,取到的默認是所有的keyname = {"name":"xiaoho", "age":16, "hobby":"coding"}
for i in name:print(i)#取所有的值?
for i in name.values():print(i)
#或:
for i in name:print(name[i])#取所有的值:
for key, value in name.items():print("key:{}, values:{}".format(key,value))----------------------結果--------------------
name
age
hobby
xiaoho
16
coding
xiaoho
16
coding
key:name, values:xiaoho
key:age, values:16
key:hobby, values:codingProcess finished with exit code 0
4) 、for遍歷集合
my = {'a', 'b', 'c'}
for i in my:print(i)-----------結果 ------------
#每次打印出來的可能不一樣
b
c
a
1.2? for_list實現邏輯
#index = 0
songs = ['晴天', '花海', '新地球', '雨愛', '舞娘', '逆戰']
for song in songs:#song = '晴天' ===> 索引為0 song[0]print("正在播放的歌曲{}".format(song))#把索引 + 1的邏輯在里面#index += 1#song '花海' =====>song[1]
?可以使用Debug for 來來查看for遍歷實現的過程
1.3 for循環的嵌套
A、 兩個不同列表嵌套
#嵌套
dalaos = ["xiaoming","apple"]
songs = ['晴天', '花海', '新地球', '雨愛', '舞娘', '逆戰']
for song in songs:for dalao in dalaos:print("song:{}, dalao:{}".format(song, dalao))-------------結果-----------
song:晴天, dalao:xiaoming
song:晴天, dalao:apple
song:花海, dalao:xiaoming
song:花海, dalao:apple
song:新地球, dalao:xiaoming
song:新地球, dalao:apple
song:雨愛, dalao:xiaoming
song:雨愛, dalao:apple
song:舞娘, dalao:xiaoming
song:舞娘, dalao:apple
song:逆戰, dalao:xiaoming
song:逆戰, dalao:appleProcess finished with exit code 0
B、在嵌套列表取元素:
#for 嵌套列表
my_list = [['無名之輩','雨愛'],['景天', '晴天'],['新地球', "新月球"],['巧克力', "蛋黃派"]]
for group in my_list:# 每個組的列表展示print(group)for name in group:print(name)-------------結果----------------
['無名之輩', '雨愛']
無名之輩
雨愛
['景天', '晴天']
景天
晴天
['新地球', '新月球']
新地球
新月球
['巧克力', '蛋黃派']
巧克力
蛋黃派
C、在列表中獲取字典:
cases = [{"url" : "http://", "method": "get"},{"url" : "http://examle", "method": "post"}
]for case in cases:# {"url" : "http://", "method": "get"}for key, value in case.items():print(key, value)---------------結果-----------
url http://
method get
url http://examle
method post
1.4 自定義列表
#for循環是循環一個指定的列表
#沒有列表可以使用
#打印1-9
#for i in [1,2,3,4,5,6,7,8,9]:
for i in range(1, 10):print(i)for i in range(1, 12, 3):print(i)
?九九乘法表編寫
#九九乘法表
for i in range(1, 10):for j in range(1,10):k = i * jprint("i * j = {} * {} = {}".format(i, j, k))
?每執行一個循環進行打印編輯器都會自動換行,怎么讓其不換行?
#怎么讓其不每執行一個循環就換行
for i in range(1, 10):print(i, end = ',')------------------結果 --------
1,2,3,4,5,6,7,8,9,
1.5 例子,九九乘法表?
方法一:
#九九乘法表 按順序排列,方法一
for i in range(1, 10):for j in range(1, 10):if j <= i: print("{} * {} = {}".format(i, j, i * j), end = '\t')print()----------結果-----------------
1 * 1 = 1
2 * 1 = 2 2 * 2 = 4
3 * 1 = 3 3 * 2 = 6 3 * 3 = 9
4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16
5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25
6 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36
7 * 1 = 7 7 * 2 = 14 7 * 3 = 21 7 * 4 = 28 7 * 5 = 35 7 * 6 = 42 7 * 7 = 49
8 * 1 = 8 8 * 2 = 16 8 * 3 = 24 8 * 4 = 32 8 * 5 = 40 8 * 6 = 48 8 * 7 = 56 8 * 8 = 64
9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81 Process finished with exit code 0
?方法二:
#方法二
for i in range(1, 10):for j in range(1, i +1):print("{} * {} = {}".format(i, j, i * j), end='\t')print()