2017-03-24 13 views
0

私はPythonには新しく、コードをもっとpythonicにする方法を学ぼうとしています。 私はファイルを文字列のリストに読み込み、これらの文字列をPythonで独自のリストに読み込んでいます。これは私のコードです。リストの理解のループのためにネストされました

data = [line.strip() for line in open(filename, 'r')] 
data = [list(item) for item in data] 

は、どのように私はforループのネストされた使用して1行でこれを行うことができます。あなたは、ネストされたループを書いていたかのように

+2

を' – AChampion

+0

あなたはリストのリストで終わるでしょう。各内部リストには、ファイル内の1行を表す1つの要素しかありません。それはあなたが欲しいものですか? – Pericolo

答えて

2

for句が同じ順序で行きます。

data = [list(item) for line in open(filename, 'r') for item in line.strip()] 

あなたはしかしwith文で、使用する必要があります: `[)(line.strip内のアイテムのためにオープン(ファイル名、 'R')に行のリスト(アイテム)]

with open(filename, 'r') as f: 
    data = [list(item) for line in f for item in line.strip()] 
関連する問題