700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > python for循环结构_python 循环结构(for-in)

python for循环结构_python 循环结构(for-in)

时间:2023-08-02 01:03:45

相关推荐

python for循环结构_python 循环结构(for-in)

随笔 -

42

文章 -

0

评论 -

1

循环结构(for-in)

说明:也是循环结构的一种,经常用于遍历字符串、列表,元组,字典等

格式:

for x in y:

循环体

执行流程:x依次表示y中的一个元素,遍历完所有元素循环结束

示例1:遍历字符串

s = 'I love you more than i can say'

for i in s:

print(i)

示例2:遍历列表

l = ['鹅鹅鹅', '曲项向天歌', '锄禾日当午', '春种一粒粟']

for i in l:

print(i)

# 可以获取下表,enumerate每次循环可以得到下表及元素

for i, v in enumerate(l):

print(i, v)

示例3:遍历字典

d = {'a':'apple', 'b':'banana', 'c':'car', 'd': 'desk'}

for key in d:

# 遍历字典时遍历的是键

print(key, d.get(key))

# for key, value in d.items():

# 上下两种方式等价 d.items() <=> dict.items(d)

for key, value in dict.items(d):

print(key, value)

列表生成式

可迭代对象:列表、元组、字典等都是可迭代对象,就是可以遍历的对象

range,用法如下:

print(range(10))

# 可以生成从0开始到10的连续整数的迭代对象

print(range(0, 10))

# 可以遍历

for i in range(10):

print(i)

# 强制转换为列表

print(list(range(1, 11)))

列表生成式:快速生成具有特定规律的列表

# 列表生成式

print([i for i in range(1, 11)])

print([i*2 for i in range(1, 11)])

print([i*i for i in range(1, 11)])

print([str(i) for i in range(1, 11)])

print([i for i in range(1, 11) if i % 2 == 0])

多重循环:就是循环中嵌套循环

示例1:从终端输入一个整数,打印如下图形:

n = int(input('请输入一个整数:'))

'''

1

1 2

1 2 3

1 2 3 4

...

1 2 3 4 ... n

'''

'''

j = 1

while j <= n:

i = 1

while i <= j:

print(i, end=' ')

i += 1

print()

j += 1

'''

for i in range(1, n+1):

for j in range(1, i+1):

print(j, end=' ')

print()

示例2:打印九九乘法表

for i in range(1, 10):

for j in range(1, i+1):

print('{}x{}={}'.format(j, i, j*i), end=' ')

print()

示例3:列表排序(选择法)

l = [1, 9, 4, 2, 0, 8, 3, 7]

# 获取长度

n = len(l)

# 外层循环用来控制循环的圈数,每一圈可以确定一个元素的位置

# 确定n个元素起始只需要n-1圈即可

for i in range(n-1):

# 内层循环用来比较大小交换元素,一圈确定一个元素

for j in range(i+1, n):

# 如果不合适

if l[i] > l[j]:

# 交换两个变量

l[i], l[j] = l[j], l[i]

print(l)

练习:

使用冒泡法排序列表

1.冒泡:每次比较相邻的两个元素,不合适就交换,依次向后,一圈下来可以确定一个元素

2.需要使用双重循环,外层循环控制循环的圈数, 内层控制一圈怎么交换

遍历列表,打印:我叫xxx,今年yyy岁,我来自zzz,数据如下

lt = [

{'name':'小王', 'age':18, 'info':[('phone', '123'), ('dizhi', '广州')]},

{'name':'小芳', 'age':19, 'info':[('phone', '789'), ('dizhi', '深圳')]},

{'name':'小杜', 'age':22, 'info':[('phone', '567'), ('dizhi', '北京')]},

{'name':'小孟', 'age':28, 'info':[('phone', '000'), ('dizhi', '上海')]},

{'name':'小乔', 'age':26, 'info':[('phone', '111'), ('dizhi', '河南')]},

]

从终端输入两个整数m,n,打印m*n的表格,如:2,5,打印如下效果

1 2 3 4 5

6 7 8 9 10

posted @

-03-10 20:38

pythonsonline

阅读(78538)

评论(0)

编辑

收藏

Copyright © pythonsonline

Powered by .NET 5.0.0 on Kubernetes

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。