python中如何实现序列的逆序-创新互联
这篇文章将为大家详细讲解有关python中如何实现序列的逆序,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
目前创新互联公司已为近千家的企业提供了网站建设、域名、虚拟空间、绵阳服务器托管、企业网站设计、云梦网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。python中实现序列逆序的方法
1. range 函数
2. reversed 函数
3. 其他方法
1. range 函数
一般 for
循环中总会用到 range
函数来进行顺序遍历,同样的,range
也能表示序列的逆序。
在 range(start, end, step)
中,start 表示序列的起始索引(默认为0),end 表示终止索引,step 表示移动步长(默认为1)。由于 range
函数是“顾头不顾尾” 的形式,因此实际上其遍历的索引终止位置是 end 的前一个索引。
比如:
list(range(5)) = [0, 1, 2, 3, 4] list(range(1, 5)) = [1, 2, 3, 4] list(range(1, 5, 1)) = [1, 2, 3, 4] list(range(1, 5, 2)) = [1, 3]
同理,逆序遍历只需将步长 step 设为负值即可。
比如:
list(range(5, 1, -1)) = [5, 4, 3, 2] list(range(5, -2, 2)) = [5, 3, 1, -1]
这样,在 for
循环中既可以实现顺序遍历,也可以进行逆序遍历。
2. reversed 函数
在 python3 中,reversed
函数也能够逆转列表。
其实,在 python2.7 中就存在内置函数 reverse
可以用来翻转列表,不过在 python3 中已经删去该函数。
相比于 reverse
函数只能反转列表,reversed
函数则可以翻转多种序列,包括tuple、list、string、range等类型。
由于 reversed
函数实际上是一个类,因此其直接输出的是对应序列值反转后的迭代器,需要由对应类型的方法获取反转后的值。
比如:
# 列表反转 a = [1, 2, 3, 4, 5] print(reversed(a)) # 输出:print(list(reversed(a))) # 输出:[5, 4, 3, 2, 1] # 元组反转 a = (1, 2, 3, 4, 5) print(reversed(a)) # 输出: print(tuple(reversed(a))) # 输出:(5, 4, 3, 2, 1) # 字符串反转 a = '12345' print(reversed(a)) # 输出: print(str(reversed(a))) # 输出: print("".join(reversed(a))) # 输出:54321
注意:
- list、tuple、range 类型均可相互转换,但str类型不同;
- str类型反转序列输出采用
"".join(reversed(string)))
方法,即将反转序列按顺序添加进新的字符串序列中。
不过,reversed
函数只能对已有序列做完全反转,若只是想对序列其中一部分进行反转,需要先截取对应序列再反转,也可以用 range
函数遍历所需部分序列。
3. 其他方法
除了以上两种方法外,对于字符串序列,还可以用切片反转方法进行反转。
比如:
a = 'hello world' print("".join(reversed(a))) # 输出:dlrow olleh print(a[::-1]) # 输出:dlrow olleh print(a[::-2]) # 输出:drwolh
关于python中如何实现序列的逆序就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
网站栏目:python中如何实现序列的逆序-创新互联
当前URL:http://scyanting.com/article/dddgii.html