如何从列表中反转项目并将其作为字符串存储在python中

时间:2013-11-25 19:28:55

标签: python string list

我有一个列表,其中每个元素都是一个字母。像这样:

myList = ['L', 'H', 'V', 'M']

但是,我想要反转这些字母并将它们存储为字符串。像这样:

myString = 'MVHL'

有没有一种简单的方法在python中执行此操作?是否有一个.reverse我可以调用我的列表然后只是循环并添加项目到我的字符串?

2 个答案:

答案 0 :(得分:8)

有一个reversed() function,以及[::-1]负步幅切片:

>>> myList = ['L', 'H', 'V', 'M']
>>> ''.join(reversed(myList))
'MVHL'
>>> ''.join(myList[::-1])
'MVHL'

当与str.join() method结合使用时,两者都能令人钦佩地完成工作,但在这两者中,负步幅切片是更快的方法:

>>> import timeit
>>> timeit.timeit("''.join(reversed(myList))", 'from __main__ import myList')
1.4639930725097656
>>> timeit.timeit("''.join(myList[::-1])", 'from __main__ import myList')
0.4923250675201416

这是因为str.join()确实需要一个列表,两次传递输入列表中的字符串(一次用于分配空间,第二次用于复制字符数据),而负片直接返回列表,而reversed()则返回迭代器。

答案 1 :(得分:5)

您可以使用reversed(或[::-1])和str.join

>>> myList = ['L', 'H', 'V', 'M']
>>> "".join(reversed(myList))
'MVHL'