strip()
是字符串的方法,您在 a 上调用它list
,因此出现错误。
>>> 'strip' in dir(str)
True
>>> 'strip' in dir(list)
False
做你想做的事,只要做
>>> l = ['Facebook;Google+;MySpace', 'Apple;Android']
>>> l1 = [elem.strip().split(';') for elem in l]
>>> print l1
[['Facebook', 'Google+', 'MySpace'], ['Apple', 'Android']]
由于您希望元素位于单个列表中(而不是列表列表),因此您有两个选择。
- 创建一个空列表并向其追加元素。
- 展平列表。
首先,请遵循以下代码:
>>> l1 = []
>>> for elem in l:
l1.extend(elem.strip().split(';'))
>>> l1
['Facebook', 'Google+', 'MySpace', 'Apple', 'Android']
要做第二个,使用itertools.chain
>>> l1 = [elem.strip().split(';') for elem in l]
>>> print l1
[['Facebook', 'Google+', 'MySpace'], ['Apple', 'Android']]
>>> from itertools import chain
>>> list(chain(*l1))
['Facebook', 'Google+', 'MySpace', 'Apple', 'Android']