0

如果不使用 reversed(),我将如何在函数中循环 Python 中的一组字符串?

偶然发现了以下范围:

range() 和 xrange() 采用指定步骤的第三个参数。因此,您可以执行以下操作。

range(10, 0, -1) 给出

[10, 9, 8, 7, 6, 5, 4, 3, 2, 1] 但是对于迭代,你真的应该使用 xrange 来代替。所以,

xrange(10, 0, -1)

但是这些并不能真正与字符串说话?

4

2 回答 2

1

您正在寻找的功能是list comprehensions。这些很有用,因为您不必迭代序列,这是rangexrange(在 2.x 中)提供的。

str可以迭代和切片,就像字符串一样。唯一的区别是str元素是不可变的。

以您的示例为例,假设您有一组字符串,并且想要遍历它们。没问题 - 请记住,集合对它们没有固有的顺序;他们只保证内容是独一无二的。

myset = set(["first", "second", "third", "fourth", "fifth"])
for i in myset:
    print i

...打印:

second
fifth
fourth
third
first

在这种情况下,您可以使用序列类型的 step 参数自行反转单个字符串,该序列类型str属于该类型。你可以这样做:

"this is the song that never ends"[::-1]

...打印:

'sdne reven taht gnos eht si siht'
于 2012-12-02T02:58:35.593 回答
1

尝试这个:

>>> str = 'abcdefghijklmnopqrstuvwxyz'
>>> str[::-1]
'zyxwvutsrqponmlkjihgfedcba'
于 2013-12-06T09:32:57.200 回答