a = "Stack"
aList = list(a)
這給了我這樣的['S','t',a','c','k']
list(string)如何將字符串拆分爲python中的一個字符數組?
我想知道這個list(string)
功能是如何工作的一個數組中!
a = "Stack"
aList = list(a)
這給了我這樣的['S','t',a','c','k']
list(string)如何將字符串拆分爲python中的一個字符數組?
我想知道這個list(string)
功能是如何工作的一個數組中!
字符串是一種可迭代的類型。例如,如果你這樣做:
for c in 'string':
print c
你得到
s
t
r
i
n
g
所以傳遞一個字符串list
只是遍歷字符字符串中,並把每一個在列表中。
字符串是iterable
在Python,因爲你可以做
>>> for ch in "abc":
... print ch
...
a
b
c
>>>
,如果你在你的Python解釋器使用help("list")
class list(object)
| list() -> new empty list
| list(iterable) -> new list initialized from iterable's items
因此,在list
類construtor
看看,list("hello")
返回一個新的列表初始化。
>>> x = list("hello")
>>> type(x)
<type 'list'>
>>>
這工作,因爲str
實現__iter__
,它允許iter(obj)
要在對象上調用。對於str
,實現按字符返回。
謝謝大家!我想知道list()函數是如何工作的。你們給了我一個好主意! – Jagadheshwar 2012-02-26 18:34:31
大部分工作實際上是由字符串完成的。您實際上正在使用list
類型的構造函數。在Python中,我們通常不太關心什麼是事情,而是關心他們能做什麼。
字符串可以做的是它可以給你(例如爲了使用for循環的目的)它的字符(實際上,長度爲1的子字符串;沒有單獨的字符類型)。 list
構造函數期望任何可以做到這一點的對象,並構造一個包含如此提供的元素的列表。
我投反對票,以抵消未評論的反對票(一種非生產性反饋)。由於您在這裏看起來相當新,請讓我建議您閱讀[常見問題](http://stackoverflow.com/faq),如果尚未閱讀,請瀏覽幾個問題,注意常見的格式和內容約定。歡迎新手來這裏,不斷提問! – kmote 2012-02-26 02:56:06
Python沒有數組。你在問什麼? – 2012-02-26 05:50:53