当我只是做一个变量,我得到这个。请看下面(Python 2.7 IDE)为什么不能.split()在函数中工作?
a = 'a d c'
a
'a d c'
a.split()
['a', 'd', 'c']
当我做功能,我得到这个。请参阅下面
def x():
a = 'abc ash avs'
a.split()
print a
x()
abc ash avs
当我只是做一个变量,我得到这个。请看下面(Python 2.7 IDE)为什么不能.split()在函数中工作?
a = 'a d c'
a
'a d c'
a.split()
['a', 'd', 'c']
当我做功能,我得到这个。请参阅下面
def x():
a = 'abc ash avs'
a.split()
print a
x()
abc ash avs
的方法split()
分裂你的字符串基于空白,当你不传递一个特定的参数。所以在你的功能中,它根据空格分割了'abc ash avs'
。
如果你想要的字符可以使用list
函数。
>>> a = 'abc ash avs'
>>> list(a)
['a', 'b', 'c', ' ', 'a', 's', 'h', ' ', 'a', 'v', 's']
如果你想字母字符,你可以使用列表理解,让他们:
>>> [i for i in a if i.isalpha()]
['a', 'b', 'c', 'a', 's', 'h', 'a', 'v', 's']
因此python知道字母表可以“排序”数字吗? –
@corbshum对不起,我没有让你能解释更多! – Kasramvd
@corbshum Python确实知道如何按字母顺序排序字母,但我认为你误解了答案的这一部分。 Kasramvd向你展示了如何制作一个字母列表(即按字母顺序排列),同时忽略空格。卡斯拉似乎认为你想要的是每个字母的列表,而不是空格分隔的列表。 – SuperBiasedMan
split()
返回您传递它的字符串中的单词列表。在您的函数中调用它时,您没有更新变量a
。
def x():
a = 'abc ash avs'
a = a.split()
print a
非常感谢 –
因为Python中的字符串是不可变的你不修改a
字符串本身。因为你在解释器中,它将打印一个函数返回的内容。这就是为什么你在屏幕上打印列表。但x
函数不返回分割列表,仅打印a
。
您会看到您预期的结果,如果你切换到这一点:
def x():
a = 'abc ash avs'
print a.split()
你能明白我的意思大约a
不被修改此:
a = 'a d c'
a
'a d c'
a.split()
['a', 'd', 'c']
a
'a d c'
谢谢!是我刚刚发现的,所以非常感谢您的确认! –
分裂()代替不分裂,它返回一个列表:字= a.split() – Joucks
[将字符串拆分为Python中的列表](http://stackoverflow.com/questions/743806/split-string-into-a-list-in-python) – Joucks