我正在解決一個需要特定排序的問題,即我在函數MyFn
中寫的,但Python中的sorted
的結果是一個列表。是否可以返回字符串而不使用join
? sorted(s, key=MyFn)
沒有轉換爲數組的字符串排序
回答
這是不可能的,因爲sorted()
旨在返回一個列表。
但是,您可以使用.join()
將其轉換回字符串。
s_list = sorted(s, key=MyFn)
s_str = "".join(s_list)
如果您不能使用.join()
,還有另一種途徑,但是這是一個有點棘手,我強烈不推薦它。您可以使用repr()
到您的列表轉換爲字符串,然後感謝切片,你可以從這個列表中得到的字母:
s_str = repr(sorted(s, key=MyFn))[2::5]
作爲一個字符列表的表示是像['s', 't', 'r', 'i', 'n', 'g']
,這應該工作。
我不能使用'join',我只能使用一次排序:) –
@Bob爲什麼你不能?請問,你使用的是Python 2還是Python 3? – Delgan
不能使用,因爲它是一個任務,但我可以使用Python 2或3 –
是否可以返回字符串而不使用
join
?
是的,這是可能的,但它的速度慢:
src = ['a', 'b', 'c']
dest = ''
for c in src:
dest += src
print(dest)
或者與functools.reduce
:
from functools import reduce
src = ['a', 'b', 'c']
dest = reduce(str.__add__, src)
print(dest)
- 1. 字符串數組排序沒有它們轉換成整數
- 2. 轉:將字符串數組轉換爲Json數組字符串
- 3. 如何排序在Java數組轉換爲字符串
- 4. 字符串轉換爲字符數組
- 5. 有沒有辦法將查詢字符串轉換爲數組?
- 6. 轉換字符串數組爲數字
- 7. 將字符串數組轉換爲字符串數組
- 8. 字符串轉換爲字節數組
- 9. 注意:數組到字符串轉換將數組轉換爲字符串
- 10. 將轉換爲字符串的數組轉換回數組
- 11. 沒有將數組隱式轉換爲字符串 - Rails Migration
- 12. 沒有將字符串隱式轉換爲數組
- 13. 沒有將字符串隱式轉換爲數組 - Rails 4.1.0.beta1
- 14. 轉換數組轉換爲字符串沒有內置函數PHP
- 15. PowerShell的字符串轉換爲數組
- 16. 字符串轉換爲數組的JavaScript
- 17. 轉換字符串數組爲整數
- 18. 將字符串轉換爲沒有CGo的C字符串
- 19. C#程序。將數組轉換爲字符串有問題
- 20. 排序字符串數組
- 21. 排序字符串數組
- 22. 排序字符串數組
- 23. 排序字符串數組
- 24. 排序字符串數組
- 25. 重新排序一個字符串轉換爲字符串,沒有連續的相同字符
- 26. 字符串數組轉換
- 27. 字符串數組轉換
- 28. 將字符串轉換爲int數組
- 29. php數組轉換爲字符串
- 30. MongoDB將字符串轉換爲數組
'sorted'返回一個列表,所以沒有,這是不可能的。 – vaultah
如果你的字符串's'是'bytearray',那麼它有可能:'s [:] = sorted(s,key = MyFn)'。 –
爲什麼不使用'''.join'? Python明確提供了兩種排序方法,實際上它們是相同的方法。 'list.sort'和'sorted'。這就是它。'sorted'在內部實現爲'tmp = list(iterable); tmp.sort();返回tmp',因此,只有一個真正的排序。 – ShadowRanger