私は、構文解析を行い、その後、各ライン上でそれを呼び出すためにmap()
を使用する機能を使用します。
def _parse_user_line(line):
name, surname, phone, address, email, etc = line.split(';', 6)
return {'nick': nick, 'surname': surname, 'phone': phone,
'address': address, 'email': email, 'etc': etc}
data = map(_parse_user_line, file)
また、ちょうどその単一の変数に返されたリストを割り当てるには良いアイデアと可能性fields[0]
、fields[1]
などを使用する - 誰もが彼らが何であるかを知っているので、彼らはとにかくdictのキーに次のようになります。
def _parse_user_line(line):
u = line.split(';', 6)
return {'nick': u[0], 'surname': u[1], 'phone': u[2],
'address': u[3], 'email': u[4], 'etc': u[5]}
data = map(_parse_user_line, file)
今、私たちはRoman's answerからアイデアを組み込むことにより、これがでもよりよいすることができます:
labels = 'nick surname phone address email etc'.split()
def _parse_user_line(line):
values = line.split(';', 6)
return dict(zip(labels, values))
data = map(_parse_user_line, file)
The Zen of Python(別名import this
)(からライン)を決して忘れない:可読性がカウントされます。
これはちょうど良いpythonです。 –
[適切な4-spaceインデント](http://www.python.org/dev/peps/pep-0008/#indentation)でより細かくなります:p – ThiefMaster