list(string)如何将字符串拆分为python中的一个字符数组?
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://*.com/faq),如果尚未阅读,请浏览几个问题,注意常见的格式和内容约定。欢迎新手来这里,不断提问! – kmote 2012-02-26 02:56:06
Python没有数组。你在问什么? – 2012-02-26 05:50:53