Dizgim var. Ben olarak çıktı istediğiniz piton & kullanarak listelemek için dönüştürmek istediğinizpython'da liste dönüştürmeyi dize
s = '1989, 1990'
,
s = ['1989', '1990']
aynı herhangi hızlı bir liner yolu var mı?
Dizgim var. Ben olarak çıktı istediğiniz piton & kullanarak listelemek için dönüştürmek istediğinizpython'da liste dönüştürmeyi dize
s = '1989, 1990'
,
s = ['1989', '1990']
aynı herhangi hızlı bir liner yolu var mı?
Kullanım split method:
>>> '1989, 1990'.split(', ')
['1989', '1990']
Ama size isteyebilirsiniz:
kaldırmak tarafından replace
bölünmüş kullanarak boşluklar ''
Gibi: dize kullanıcı girişi geliyorsa kullanıcı virgülden sonra boşluk vurmak unutmak olabileceğinden
>>> '1989, 1990,1991'.replace(' ', '').split(',')
['1989', '1990', '1991']
Bu, daha iyi çalışacaktır.
"Kullanıcı, bir virgülden sonra yere vurmayı unutabileceğinden, dizginiz kullanıcı girdisinden geliyorsa daha iyi çalışır." Bu yararlı. – self
Geri bildiriminiz için teşekkür ederiz, işiniz bittiğinde lütfen [soruyu kapatmak için] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) unutmayın.Bu, çözülmemiş bir soruna cevap bulmak için cevapsız soruları okuyan diğerlerinden zaman kazandıracak – jpic
Çağrı split
fonksiyonu: İlk boşlukları kaldırır
myList = s.split(', ')
print s.replace(' ','').split(',')
ardından virgül ile ayrılır.
Kullanım liste comprehensions:
s = '1989, 1990'
[x.strip() for x in s.split(',')]
Kısa ve kolay.
Ayrıca, bu birçok kez asked olmuştur!
Bu çok daha iyi bir yanıt - tüm alanların değiştirilmesi verileri etkileyebilir, bölünmüş öğelerin sıyrılması çok daha iyi bir fikir. –
Yoksa kullanabilirsiniz düzenli ifadeler:
>>> import re
>>> re.split(r"\s*,\s*", "1999,2000, 1999 ,1998 , 2001")
['1999', '2000', '1999', '1998', '2001']
ifadesi \s*,\s*
maçlar yine sıfır veya daha fazla boşluk karakterleri, virgül ve sıfır veya daha fazla boşluk karakterleri.
def convertToList(v):
'''
@return: input is converted to a list if needed
'''
if type(v) is list:
return v
elif v == None:
return []
else:
return [v]
Belki projeniz için yararlıdır:
ben bu jenerik yöntem yarattı.
converToList(s)
ait
olası yinelenen [Nasıl bir liste Python içine bir dize bölmek mi?] (Http://stackoverflow.com/questions/88613/how-do-i-split-a-string-into-a -list-python) – bernie