知行编程网知行编程网  2022-11-25 08:00 知行编程网 隐藏边栏  6 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python 序列的逆序的相关知识,包括python逆序输出三位数,以及python求123逆序数这些编程知识,希望对大家有参考作用。


python序列的倒序


python中实现序列逆序的方法


1. range 函数


一般

<br /> <span><br /> for<br /> </span><br />

循环中总会用到

<br /> <span><br /> range<br /> </span><br />

函数来进行顺序遍历,同样的,

<br /> <span><br /> range<br /> </span><br />

也能表示序列的逆序。



<br /> <span><br /> range(start, end, step)<br /> </span><br />

中,

start

表示序列的起始索引(默认为0),

end

表示终止索引,

step

表示移动步长(默认为1)。由于

<br /> <span><br /> range<br /> </span><br />

函数是“顾头不顾尾” 的形式,因此实际上其遍历的索引终止位置是

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]


这样,在

<br /> <span><br /> for<br /> </span><br />

在循环中,既可以实现顺序遍历,也可以实现逆序遍历。


2. reversed 函数


在 python3 中,

<br /> <span><br /> reversed<br /> </span><br />

函数也能够逆转列表。

其实,在 python2.7 中就存在内置函数

<br /> <span><br /> reverse<br /> </span><br />

可以用来翻转列表,不过在 python3 中已经删去该函数。

相比于

<br /> <span><br /> reverse<br /> </span><br />

函数只能反转列表,

<br /> <span><br /> reversed<br /> </span><br />

函数则可以翻转多种序列,包括

tuple



list



string



range

等类型。

由于

<br /> <span><br /> reversed<br /> </span><br />

函数实际上是一个类,因此其直接输出的是对应序列值反转后的迭代器,需要由对应类型的方法获取反转后的值。

比如:

# 列表反转
a = [1, 2, 3, 4, 5]
print(reversed(a))  # 输出:<list_reverseiterator object at 0x00000233F1C96588>
print(list(reversed(a)))  # 输出:[5, 4, 3, 2, 1]
# 元组反转
a = (1, 2, 3, 4, 5)
print(reversed(a))  # 输出:<reversed object at 0x000001FE9B3A6588>
print(tuple(reversed(a)))  # 输出:(5, 4, 3, 2, 1)
# 字符串反转
a = '12345'
print(reversed(a))  # 输出:<reversed object at 0x000001FAD17E2438>
print(str(reversed(a)))  # 输出:<reversed object at 0x000001FAD17E2438>
print("".join(reversed(a)))  # 输出:54321



注意




  1. list



    tuple



    range

    类型均可相互转换,但str类型不同;

  2. str类型反转序列输出采用

    <br /> <span><br /> "".join(reversed(string)))<br /> </span><br />

    方法,即将倒序的序列按顺序添加到新的字符串序列中。


不过,

<br /> <span><br /> reversed<br /> </span><br />

该函数只能完全颠倒现有序列。如果只想反转一部分序列,需要截取对应的序列再反转。你也可以使用

<br /> <span><br /> range<br /> </span><br />

函数遍历所需部分序列。


3. 其他方法


除了以上两种方法外,对于字符串序列,还可以用切片反转方法进行反转。

比如:

a = 'hello world'

print("".join(reversed(a)))  # 输出:dlrow olleh

print(a[::-1])  # 输出:dlrow olleh

print(a[::-2])  # 输出:drwolh

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享