我只是好奇字符串是否被視爲列表。在Python中,是否將字符串視爲列表?
回答
在幾乎所有的語言中字符串確實是字符列表,所以是的,從這個意義上說,字符串是列表。但是,字符串是他們自己的實體。他們有自己的方法,並不是所有的列表方法都可以用在字符串上。但是,有重疊。您可以將字符串分割,迭代和連接,就好像它們是列表一樣,甚至可以使用一些列表方法(即,len
和index
)。然而,最大的區別在於Python中的字符串不可變,。有了清單,你可以做my_list[5] = "a"
。如果您使用字符串嘗試此操作,則會收到TypeError
。
編輯:
正如在另一個答案的評論提到,不變性可能不是最大差(這是見仁見智的問題),但有些事我沒有看到提到的其他地方是列表可以是多維的。雖然你可以很容易地有一個二維,三維甚至四維的列表,但類似的東西是不可能的字符串(儘管可以認爲my_list = ["foo", "bar"]
可以看作多維的,因爲你可以調用my_list[1][2]
,它不是一個字符串,它是字符串和列表)。如果有人能夠製作「字符串字符串」,就像您可以列出「列表名單」一樣,我會對其印象深刻。
字符串和列表都是序列,因此for
循環可以迭代它們,但它們肯定是兩種不同的類型。
for c in 'abcd':
print c
for i in [1,2,3,4]:
print i
謝謝你的有用答案。 http://docs.python.org/2/library/stdtypes.html#sequence-types-str-unicode-list-tuple-bytearray-buffer-xrange – agf
除了別人的說法。字符串不可變和可哈希:不能改變字符串,它們可以是字典中的鍵和集合的成員。列表是可變的,不可哈希,你可以改變列表,但它們不能是字典或集合成員中的鍵。
# Hashability
>>> {['a', 'b'] : 1} # With lists: fails
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'
>>> {'ab' : 1} # With strings: works
{'ab': 1}
字符串列表就像一隻貓是棉花糖。它們在很多方面都很相似 - 你可以撫摸它們,它們都很柔軟,它們可以對你真正甜美,並且可以讓你的地板變得混亂。
你可以吃棉花糖,但如果你嘗試吃貓,它會在你的臉上發出一個尖銳的血腥的錯誤。
所以它是與字符串和列表。你可以對它們做很多相同的事情,因爲它們都是序列,但有些事情你只能用字符串做,而有些事情只能用列表。
+1是唯一真正說出__hell的人不是,他們aren't__。他們是一些東西的序列,很好,但還有什麼?我看到有人說_hashable_或最大的區別。恕我直言,我們不能談論最大的區別_但最大的相似性。它們是兩種不同的東西,它們恰好包含了一系列的東西,但與東西相差甚遠。 –
回想起來,我應該帶着一隻鴨子,順從鴨子打字。 – Brionius
- 1. 在python中將字符串列表拆分爲子列表
- 2. 檢查eval(字符串)是否在對象列表中。在Python
- 3. 如何檢查字符串是否在字符串列表中
- 4. 在Python中將字符串轉換爲字典或列表?
- 5. 在Python 3中將字節列表轉換爲字符串
- 6. Python將字典視爲字符串
- 7. 將字符串列表拆分爲字符串列表列表
- 8. 將字符串查找列表轉換爲Python中的列表
- 9. 在javascript中是否將空字符串視爲falsy?
- 10. 在Python中,如何將字符串列表分解爲字符串列表列表?
- 11. Python列表中的字符串列表中的子字符串
- 12. 如何在Python中將字符串轉換爲列表?
- 13. 在Python中將字符串轉換爲列表
- 14. 如何在python中將列表摺疊爲字符串?
- 15. 如何在python中將字符串列表轉換爲複數?
- 16. 將Python列表串聯到新列表中的字符串
- 17. 將字符串序列轉換爲python中的浮點列表
- 18. Dapper是否將XML數據拆分爲字符串列表?
- 19. 將字符串列表轉換爲字符串列表
- 20. 在Python中展開字符串列表和字符串列表以及列表
- 21. Python:將邏輯字符串解析爲列表的列表
- 22. 將列表的Python列表轉換爲字符串
- 23. 將字符串列表轉換爲日期列表Python 3.6
- 24. python:將文件轉換爲字符串列表的列表
- 25. 將字符串列表轉換爲xyz cooridnates列表python
- 26. Python字符串列表到字符串
- 27. python:檢查子字符串是否在字符串元組中
- 28. 如何將字符串替換爲列表中的其他字符串(python)
- 29. 將數字和字符串列表到單個字符串python
- 30. 在Python中過濾字符串列表
「字符串」不是列表,但「字符串」是可迭代的 – zsong