首先,當被視爲字符組,我已經整理出我的問題,當我發現這一點: in python: iterate over each string in a list字符串迭代
本來我得到了我認爲是怪異的行爲時,我會遍歷一個「名單「用一個字符串。在這些情況下,字符串被視爲一組字符,並且迭代順序返回字符串中的每個字符。
作爲Python的新手,我沒有意識到使用[]和()來定義列表之間存在着某種嚴格的區別。我的列表定義使用()。但是,當列表包含多個字符串時,迭代將按順序返回每個完整的字符串。爲了說明:
list = ('string')
for i in list:
print i
輸出:
s
t
r
i
n
g
但如果我這樣做,就是添加第二個字符串到()組:
list = ('string','another string')
for i in list:
print i
它被視爲如同我用[](如你所想)。輸出:
string
another string
現在,我得到預期的行爲,無論哪種方式,如果我使用[]來定義我的列表,所以這就是我現在正在做什麼。我只是認爲這是一個有趣的行爲。
有人能指點我一些文檔,解釋Python解釋parens的方式,特別是相對於字符串?
我沒有看到在Python文檔的任何數據結構: https://docs.python.org/3/tutorial/datastructures.html
謝謝!
請不要使用'list'作爲變量名稱。這會導致對「列表」功能的引用 – dawg
在Python中,字符串是字符序列,字符是一個字符串。 'list's也是序列(任何東西),有時似乎很難區分它們。 – martineau