python基础语法 004-2流程控制- for遍历

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()

  • 13
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值