1 遍历
1.1 什么是遍历?
- 可以遍历的元素:字符串、列表、元组、字典、集合
 - 字符串是可以进行for 循环。(容器对象,序列)
 - 可迭代对象iterable
 
例子:
1 )、for遍历字符串:
name ='xiaoming'
for e in name:
    print(e)
-------------------结果------------
x
i
a
o
m
i
n
g
Process 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循环,取到的默认是所有的key
name = {"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:coding
Process 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:apple
Process 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 * j
        print("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() 




















