python中的循环


当我想循环打印一个数组时候会列出并使用for循环逐个遍历,但是如果范围太大可能就不适合这样遍历:

for i in [1,2,3,4,5,6,7,8,9,10]:
    print(i)

除此之外,还有五种函数可以优化代码使之达成循环的目的。

range()

使用range函数遍历数组

for i in range(1, 11):
    print(i)

range函数参数:

range(start,stop,step)  #(开始,结束,每次执行跳过几个参数)

eg:

for i in range(2,11,2):
    print(i)

# 输出为: 2 4 6 8 10

zip()

python中的zip函数,像是拉链一样可以组合两个或者多个列表。将组合列表中的元素以元组的形势打包出来,到这些元组组成的列表里。

list_a = ['a','b','c','d']
list_b = ['1','2','3','4']
for l_a,l_b in zip(list_a,list_b):
    print(l_a,l_b)

#输出为:
#a 1
#b 2
#c 3
#d 4

reversed()

如果是使用range函数:

list = ['a', 'b', 'c', 'd']

for i in range(len(list)-1,-1,-1)):
  print(list[i])

反向遍历列表,reversed函数会更加方便(注:它里面的元素可以是列表, 元组, 字符串;然后返回一个元素经过反转的迭代器)

list = ['a', 'b', 'c', 'd']

for i in reversed(list):
  print(list)

# d
# c 
# b
# a

enumerate()

enumerate的意思代表枚举,可以打印索引和元素值

循环遍历一个列表并且打印出来他在列表中的位置:
如果使用range函数,那么可能需要先取到列表的长度,做为一个条件,再取出对应位置的list[i]

list = ['a', 'b', 'c', 'd']

for i in range(len(list)):
  print(i,list(i))

enumerate()函数会减少判断数组长度的步骤:

list = ['a', 'b', 'c', 'd']

for i,l in enumerate(list):
  print(i,l)

# 输出
# 0 a
# 1 b
# 2 c
# 3 d

sorted()

当需要给列表里元素排序的顺序遍历列表的时候可以使用sorted函数。
她和sort()不同的是,sort只适用于列表,但是它适用于所有可迭代的对象。
sorted的语法:

sorted(iterable, key=None, reverse=False)   
# iterable对象,key用来作为比较的参数/元素,reverse升序(默认)

可以按照 数字从小到大:

list = [2,1,5,4,6,3]

for i in sorted(list):
    print(i)

# 输出:
# 1
# 2
# 3 
# 4
# 5
# 6

可以按照 字符串的长度:

cloths = ['shirt', 'hat', 'socks', 'shorts']

for cloth in sorted(cloths, key=len):
  print(cloth)
  
# 输出:
# ------
# hat
# shirt
# socks
# shorts

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值