如何在python中分隔列表中的字符串?

2024-10-04 11:30:00 发布

您现在位置:Python中文网/ 问答频道 /正文

好的,我有这个['state1', ',', 'state2,st6'],我希望它是这样的

[['state1'], ['state2'], ['st6']] or ['state1', 'state2', 'st6']

我不明白清单,伟大的,我尝试自己,总是一样的,清单没有属性分裂,lstrip等,有什么想法?你知道吗


Tags: or属性state1lstripstate2st6
3条回答

我会将列表加入字符串,然后拆分:

>>> a = ['state1', ',', 'state2,st6']
>>> [[i] for i in ''.join(a).split(',')]
[['state1'], ['state2'], ['st6']]

我看过你以前的同一个问题的版本。我认为以上的答案只有在只有逗号的情况下才能分开。如果要删除任何符号。。你可以用这个和不同的工具来学习

import re

data=['state1', ',', 'state2','|','st6']

p = r"^[\w'-]+$"

 > def f(x):    
    >     if re.search(p, x):
    >         return True
    > 
    > print filter(f,data)

输出:

> ['state1', 'state2', 'st6']

我会这样做,这些被称为list comprehensions

>>> original = ['state1', ',', 'state2,st6']
>>> [[item] for string in original for item in string.split(',') if item]
[['state1'], ['state2'], ['st6']]

或者如果不需要嵌套列表:

>>> [item for string in original for item in string.split(',') if item]
['state1', 'state2', 'st6']

相关问题 更多 >