概述
【每天1分钟】PYTHON基础之条件与循环(几个返回迭代器的函数)
- range()
创建一个整数列表,一般用在 for 循环中。
语法:
range(start, stop[, step])
start 计数从 start 开始。默认是从 0 开始。
stop 计数到 stop 结束,但不包括 stop。
step步长,默认为1。
# 返回 1 到 20 间的 奇数
>>> for i in range(1, 20, 2):
print(i)
1
3
5
7
9
11
13
15
17
19
>>>
- enumerate()
用于为可迭代对象添加序号,默认序号从0开始,一般用在 for 循环当中。
语法:
enumerate(iterable[,start=0])
iterable可迭代对象(字符串、列表、元祖、字典)
start序号起始位置,默认为0
返回值
返回 enumerate(枚举) 对象
>>> L = [i for i in range(1, 20, 2)]
>>> for index, element in enumerate(L):
print('Number {index} is : {element}'.format(index = index, element = element))
Number 0 is : 1
Number 1 is : 3
Number 2 is : 5
Number 3 is : 7
Number 4 is : 9
Number 5 is : 11
Number 6 is : 13
Number 7 is : 15
Number 8 is : 17
Number 9 is : 19
>>>
- reversed()
返回一个反转的迭代器。
语法:
reversed(seq)
seq要转换的序列,可以是 tuple, string, list 或 range
返回值
返回一个反转的迭代器。
>>> str = 'https://mp.csdn.net/mdeditor/97690133'
>>> reversed(str)
<reversed object at 0x00000212A14DC9B0>
>>> list(reversed(str))
['3', '3', '1', '0', '9', '6', '7', '9', '/', 'r', 'o', 't', 'i', 'd', 'e', 'd', 'm', '/', 't', 'e', 'n', '.', 'n', 'd', 's', 'c', '.', 'p', 'm', '/', '/', ':', 's', 'p', 't', 't', 'h']
>>>
>>> str = 'Hello'
>>> reversed(str)
<reversed object at 0x00000212A145D588>
>>> list(reversed(str))
['o', 'l', 'l', 'e', 'H']
>>>
- zip()
用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
语法:
zip([iterable, …])
iterable 一个或多个迭代器;
返回值
返回元组列表。
>>> a = [1, 2, 3, 4]
>>> b = ['one', 'two', 'three']
>>> c = ['1st', '2nd', '3th', '4th', '5th']
# 最小元素个数为3
>>> for i in zip(a, b):
print(i)
(1, 'one')
(2, 'two')
(3, 'three')
# 最小元素个数为4
>>> for j in zip(a, c):
print(j)
(1, '1st')
(2, '2nd')
(3, '3th')
(4, '4th')
# 最小元素个数为3
>>> for k in zip(a, b, c):
print(k)
(1, 'one', '1st')
(2, 'two', '2nd')
(3, 'three', '3th')
>>>
- sorted()
sorted 用于对集合进行排序(这里集合是对可迭代对象的一个统称,他们可以是列表、字典、set、甚至是字符串)
语法:
sorted(iterable, /, *, key=None, reverse=False)
key参数指定排序规则,key也是接受一个函数,不同的是,这个函数只接受一个元素,形式如下
def f(a):
return len(a)
key接受的函数返回值,表示此元素的权值,sort将按照权值大小进行排序
reverse默认是false,升序排列。reverse=True时倒序排列
# 对列表排序,返回的对象不会改变原列表
>>> list = [1,5,7,2,4]
>>> sorted(list)
[1, 2, 4, 5, 7]
>>> sorted(list,reverse=False)
[1, 2, 4, 5, 7]
>>> sorted(list,reverse=True)
[7, 5, 4, 2, 1]
# 根据自定义规则来排序,使用参数:key
>>> chars = ['bruce', 'is', 'a', 'handsome', 'boy']
>>> sorted(chars,key=lambda x:len(x))
['a', 'is', 'boy', 'bruce', 'handsome']
>>> sorted(chars,key=lambda x:len(x),reverse= True)
['handsome', 'bruce', 'boy', 'is', 'a']
>>>
# 根据自定义规则来排序,对元组构成的列表进行排序
>>> tuple_list = [('A', 1,5), ('B', 3,2), ('C', 2,6)]
>>> sorted(tuple_list, key=lambda x: x[1])
[('A', 1, 5), ('C', 2, 6), ('B', 3, 2)]
>>> sorted(tuple_list, key=lambda x: x[0])
[('A', 1, 5), ('B', 3, 2), ('C', 2, 6)]
>>> sorted(tuple_list, key=lambda x: x[2])
[('B', 3, 2), ('A', 1, 5), ('C', 2, 6)]
>>>
最后
以上就是勤劳皮卡丘为你收集整理的【每天1分钟】PYTHON基础之条件与循环(几个返回迭代器的函数)的全部内容,希望文章能够帮你解决【每天1分钟】PYTHON基础之条件与循环(几个返回迭代器的函数)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复