関数を使用して解析を実行し、次に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)
今、私たちはローマの答えからのアイデアを組み込むことによってこれをさらに良くすることができます:
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)
決して忘れないでください(からの行)Pythonの禅(別名import this
):読みやすさは重要です。