我需要从文本文件中读取行(我已经这样做了)。这些行的格式相同: “姓名”,“号码”,“号码”。 我在行中读到并将每行放在一个单独的列表中,以制作列表列表。 我需要将第三个数字除以每行的第二个数字,然后将结果数字作为值存储在字典中,并将“名称”作为关键字。
{{1}}
这就是我到目前为止,假设f是一个已经读入的文本文件。我正在使用Python 3.
答案 0 :(得分:3)
您可以使用词典理解:
list_words = [line.strip().split(',') for line in f]
d = {lst[0]: float(lst[2])/float(lst[1]) for lst in list_words}
请注意,创建list_words
的列表推导消除了对封闭for
循环的需要。
警告:如果你的一个除数的值为零,则会引发ZeroDivisionError
。
另一种方法是在for
的{{1}}循环的每次迭代中添加新的键值对:
list_words
答案 1 :(得分:0)
像
这样的东西d = {l[0]:float(l[1])/float(l[2]) for l in list_words}
将创建一个键入第一个(即位置0)项目的字典。
注意: