不使用reverse(),我如何在函数中循环Python中的一组字符串?
偶然发现了以下范围:
range()和xrange()采用指定步骤的第三个参数。所以 你可以做到以下几点。
范围(10,0,-1)给出
[10,9,8,7,6,5,4,3,2,1]但是对于迭代,你应该真的 使用xrange代替。所以,
xrange(10,0,-1)
但这些并不能真正说明字符串吗?
答案 0 :(得分:1)
您正在寻找的功能是list comprehensions。这些非常有用,因为您不必遍历序列,这是range
和xrange
(在2.x中)提供的序列。
str
可以迭代和切片,就像字符串一样。唯一的区别是str
元素是不可变的。
对于您的示例,假设您有一组字符串,并且您想迭代它们。没问题 - 只要记住这些集合没有固有的顺序;他们只保证内容是独一无二的。
myset = set(["first", "second", "third", "fourth", "fifth"])
for i in myset:
print i
...打印:
second
fifth
fourth
third
first
也可以使用the step parameter为str
所属的序列类型自行反转单个字符串。你可以这样做:
"this is the song that never ends"[::-1]
...打印:
'sdne reven taht gnos eht si siht'
答案 1 :(得分:1)
试试这个:
>>> str = 'abcdefghijklmnopqrstuvwxyz'
>>> str[::-1]
'zyxwvutsrqponmlkjihgfedcba'