python中for循环的用法

本文详细介绍了Python中for循环遍历各种数据结构的方法,包括列表、元组、集合、字符串、使用range函数、字典以及生成器。还提到了利用enumerate函数、iter函数以及结合range和len函数进行遍历的技巧。
摘要由CSDN通过智能技术生成

前言

在python 中,for 循环的基本使用方法如下

for item in sequence:
    expression

其中sequence 为可迭代的对象,item 为序列中的每个对象
可以分为以下两类:
一类是列表list,元组tuple,字典dict,set集合,str字符串等的集合数据类型
一类是generator,包括生成器和带yield的generator function

对于列表,元组,集合以及字符串

对于字符串:

st  ="hello world"
for i in st:
    print(i,end =' ')

h e l l o w o r l d

对于列表:

List = [1,2,3,4,5]
for item in List:
    print(item, end=" ")

1 2 3 4 5

对于元组:

Tuple = (1,2,3,4,5)
for item in Tuple:
    print(item, end=" ")

1 2 3 4 5

对于set集合:

Set = {1,2,3,4,5}
for item in Set:
    print(item, end=" ")

1 2 3 4 5

对于range

for循环打印数字的话可以借用range函数
range函数可以取到一个范围内的整数,相比while要方便很多
range(b) 默认从0开
range(a,b) 左闭右开,包括左边不包括右边
range(a,b,c) 从a到b的整数,间隔c访问一次

for i in range(10):
    print(i,end =' ')
print('\n')    
for i in range(4,10):
    print(i,end =' ')
print('\n') 
for i in range(1,10,2):
    print(i,end =' ')

0 1 2 3 4 5 6 7 8 9

4 5 6 7 8 9

1 3 5 7 9

对于字典

Dict = {1:"a",2:"b",3:"c"}
for key in Dict:
    print(key, ':',Dict[key])
for key in Dict.keys():
    print(key, ':',Dict[key]) 
for key,value in Dict.items():
    print(key,':', value) 

1 : a
2 : b
3 : c
1 : a
2 : b
3 : c
1 : a
2 : b
3 : c

Dict = {1:"a",2:"b",3:"c"}
for key in Dict:
    print(key, end=" ")
print('\n')
for value in Dict.values():
    print(value, end=" ")
print('\n')
for item in Dict.items():
    print(item, end=" ")
  

1 2 3

a b c

(1, ‘a’) (2, ‘b’) (3, ‘c’)

对于generator

List = [1,"a",3,4,5]
gen = (item for item in (List))
print(type(gen))
print(gen)
for item in gen:
    print(item)

<class ‘generator’>
<generator object at 0x000001BB6772ABA0>
1
a
3
4
5
创建带yield的generator function。例如,斐波拉契数列的生成器

def fib(max):
    n, a, b = 0, 0, 1
    while n < max:
        yield b
        a, b = b, a + b
        n = n + 1
    return 'done'

for item in fib(15):
    print(item, end=" ")

1 1 2 3 5 8 13 21 34 55 89 144 233 377 610

列表生成式

a = [i*i for i in range(6)]
print(type(a))
print(a)
#<class 'list'>
#[0, 1, 4, 9, 16]

b = [m + n for m in '爱心难' for n in '在口开']
print(type(b))
print(b)

<class ‘list’>
[0, 1, 4, 9, 16, 25]
<class ‘list’>
[‘爱在’, ‘爱口’, ‘爱开’, ‘心在’, ‘心口’, ‘心开’, ‘难在’, ‘难口’, ‘难开’]

使用 enumerate() 函数遍历

numbers = [12, 20, 30, 55, 65]
for i, n in enumerate(numbers):
    print(i, n)

0 12
1 20
2 30
3 55
4 65

使用 iter() 函数遍历

numbers = [12, 20, 30, 55, 65]
for  i in iter(numbers):
    print( i )

12
20
30
55
65

结合 range() 和 len() 函数进行遍历

numbers = [12, 20, 30, 55, 65]
for i in range(len(numbers)):
    print(i, numbers[i])

0 12
1 20
2 30
3 55
4 65

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值