[英]How do I reverse items from a list and store it as a string in python
我有一個列表,其中每個元素都是一個字母。 像這樣:
myList = ['L', 'H', 'V', 'M']
但是,我想反轉這些字母並將它們存儲為字符串。 像這樣:
myString = 'MVHL'
有沒有一種簡單的方法可以在python中做到這一點? 我可以在列表中調用一個.reverse,然后循環遍歷並將其添加到字符串中嗎?
有一個reversed()
函數 ,以及[::-1]
負跨步切片:
>>> myList = ['L', 'H', 'V', 'M']
>>> ''.join(reversed(myList))
'MVHL'
>>> ''.join(myList[::-1])
'MVHL'
當與str.join()
方法結合使用時,兩者都能很好地完成工作,但是在兩者中,負步幅切片是更快的方法:
>>> 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()
返回一個迭代器。
您可以使用reversed
(或[::-1]
)和str.join
:
>>> myList = ['L', 'H', 'V', 'M']
>>> "".join(reversed(myList))
'MVHL'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.