2015-08-27 19 views

回答

3
>>> mylst = ['bla,bli', 'blula', 'blabla,bloblu,blibla', 'bla'] 
>>> mylst = [item.split(',') for item in mylst] 
>>> mylst 
[['bla', 'bli'], ['blula'], ['blabla', 'bloblu', 'blibla'], ['bla']] 
3

如果你想拆就逗號,只是在list comprehension這樣做:

mylst = [elem.split(',') for elem in mylst] 

str.split() method產生新的列表:

>>> mylst = ['bla,bli', 'blula', 'blabla,bloblu,blibla', 'bla'] 
>>> [elem.split(',') for elem in mylst] 
[['bla', 'bli'], ['blula'], ['blabla', 'bloblu', 'blibla'], ['bla']] 
1

居然真的這麼簡單!

myLst2 = map(lambda x: x.split(','), mylst) 

正如python3中Martijn Pieters指出的那樣,這將返回一個映射迭代器。爲了得到一個列表做:

mapIter = map(lambda x: x.split(','), mylst) 
myLst2 = list(mapIter) 
+0

在Python 3,這會返回一個map迭代器對象,而不是一個列表。 –

+0

@MartijnPieters感謝您的反饋!更新我的代碼:) –

相關問題