當我只是做一個變量,我得到這個。請看下面(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