2011-07-17 2 views

答えて

7

あなたは非常に近いです!

>>> info = ['apple: 1', 'orange: 2', 'grape: 3'] 
>>> info = dict(line.split(': ') for line in info) 
>>> info 
{'orange': '2', 'grape': '3', 'apple': '1'} 

は、あなたはそれをあなたは、Python 2.7以降にしようとした方法を行うことができますが、そうdictが優れている使用して、個別に行を分割する必要があると思います。

は、ここで私が何を意味するかです:

info = ['apple: 1', 'orange: 2', 'grape: 3'] 
info = {fruit:num for fruit, num in (line.split(': ') for line in info)} 
2

あなたが書くことができます。

FYI
dict(tuple(line.split(': ')) for line in info) 
+0

- dictの(とセット)内包も私が知っている2.7.2 – Nate

+0

にバックポートが、それはしませんし、コードをもっと鮮明にするか、短くしてください(上記の@ senderleの使用を参照してください)。あなたが@ senderleの答えで見ることができるように、私の 'tuple'の使用は不必要でした。 – MRAB

関連する問題