我想創建一個字符串S,它可以作爲一個數組使用,因爲在每個元素中可以單獨使用它們作爲數組。如何創建一個可以在python中用作數組的字符串?
回答
那怎麼Python中已經工作:
>>> a = "abcd"
>>> a[0]
'a'
>>> a[2]
'c'
但是要記住這是隻讀訪問。
您可以通過使用list
字符串轉換爲字符的列表,並去其他方式使用join
:
>>> s = 'Hello, world!'
>>> l = list(s)
>>> l[7] = 'f'
>>> ''.join(l)
'Hello, forld!'
但我總是得到列表索引錯誤。我想定義字符串在C++中,其中字符串S,給我一個字符串S,可以用作字符數組。 – Hick 2010-04-10 07:14:05
@mekasperasky:你不能修改原始字符串,你只能修改列表然後將其轉換回字符串。字符串在Python中是不可變的。修改字符串中的一個字符可能是一項昂貴的操作,因爲您必須複製整個字符串。 – 2010-04-10 07:15:53
如果您正在獲取索引錯誤,那麼您可能試圖訪問字符串末尾的字符 - 無論您使用的是字符串還是列表,都會得到相同的錯誤。這是你的代碼中的一個bug,而不是Python的字符串或列表的問題。向我們展示代碼! – 2010-04-10 07:26:48
我有點驚訝,似乎沒有人爲Python編寫一個流行的「MutableString」包裝類。我想你會希望將它存儲爲一個列表的字符串,通過''.join()
返回它並實現一套方法,包括字符串(startswith
,endswith
,isalpha
及其所有的一切等等)和那些列表。
對於在列表中運行的簡單操作並根據需要使用''.join()
即可。然而,對於類似如下的東西:'foobar'.replace('oba', 'amca')
當您使用列表表示變得醜陋。 (that=list(''.join(that).replace(something, it))
...或類似的東西)。列表和字符串表示之間的常量編組在視覺上分散注意力。
標準庫中有[UserString.MutableString](http://docs.python.org/library/userdict.html#UserString.MutableString),但它自2.6(3.0中刪除)以來速度較慢且不推薦使用。 – 2010-04-10 19:45:11
顯然在2.6中添加了bytearray(可變字節序列):https://docs.python.org/2/library/functions.html?highlight = bytearray#bytearray – 2016-11-28 10:19:03
- 1. 如何在python中創建一個字符串字符串
- 2. 如何用C中的char數組創建一個字符串?
- 3. 如何在PHP中創建一個字符串數組的字符串?
- 4. 在python中創建一個字符串
- 5. C++中的字符串創建一個字符串數組
- 6. 如何在C++中創建一個字符串數組?
- 7. 如何在php中創建一個字符串數組?
- 8. 如何在C中創建一個字符串數組?
- 9. 如何在Java中創建一個字符串向量數組?
- 10. 如何在C中創建一個字符串數組?
- 11. 如何在matlab中創建一個字符串數組?
- 12. 試圖從字符串數組中創建一個字符串
- 13. 如何創建一個可以接受三個字符串數組的字符串寧靜方法
- 14. 創建一個Java字符串數組
- 15. 從字符串創建一個數組
- 16. 如何從字符串數組中創建一個字符串C
- 17. 如何用字符串元素創建一個數組?
- 18. 如何創建一個[字符串:AnyObject]數組中swift2
- 19. 從字符串中創建一個數組,然後在字符串中逐個創建一個
- 20. PHP的問題 - 如何創建一個字符串的數組?
- 21. 創建一個字符串的動態數組,可以在填滿時縮放
- 22. 如何在python中創建一個由全局字符串組成的變量?
- 23. 如何創建字符串數組(使用字符串鍵)?
- 24. 如何從PHP創建一個JSON字符串數組數據
- 25. 如何在Java中創建一個包含字符串,字符串數組和int數組的對象?
- 26. 如何使用JavaScript創建一個字符串的字符串?
- 27. 如何創建一個沒有值的字符串數組
- 28. 創建一個可能的字符串變量數組
- 29. 在python中創建兩個字符串中的一個字符串
- 30. 處理:在字符串內創建一個字符數組
您應該添加更多詳細信息。 Python字符串已經像列表一樣工作了。你究竟想要什麼?提供一個例子,一個背景,一個問題,以便理解你在做什麼。 – 2010-04-10 07:32:47