strip()
は文字列のメソッドです。 で呼び出している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']]
要素を (リストのリストではなく) 単一のリストに含める必要があるため、2 つのオプションがあります。
- 空のリストを作成し、それに要素を追加します。
- リストを平坦化します。
最初に行うには、次のコードに従います。
>>> l1 = []
>>> for elem in l:
l1.extend(elem.strip().split(';'))
>>> l1
['Facebook', 'Google+', 'MySpace', 'Apple', 'Android']
2番目を行うには、使用します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']