输入文件看起来是这样的:的Python把非均匀线成字典
A 3.00 B 4.00 C 5.00 D 6.00
E 3.20 F 6.00 G 8.22
H 9.00
I 9.23 J 89.2
K 32.344
而且我想要的人物是键在字典中 而彩车作为值。
这是我迄今为止的非工作失败。
def main():
#Input File
reader = open('candidate.txt', 'r'
my_dictionary = {}
i=0
for line in reader.readlines():
variable = line.split(' ')[i]
value = line.split(' ')[i+1]
my_dictionary[variable]= value
i+=2
print my_dictionary
if __name__ == '__main__':
main()
想想你的代码片刻。 'i'每行增加2,对吧?所以你得到第一行的第一对,第二行的第二对,等等,这显然不是你想要的,对吧?你需要两个嵌套for循环,一个用于行,一个用于获得一行内的所有对(如果你想继续使用循环 - 有更高效的选项,请参阅guettli的答案)。 – weronika
基本上,您需要成对(键值)迭代列表中的项目。这里是一个广泛的答案,显示不同的技术:http://stackoverflow.com/questions/4628290/pairs-from-single-list - 我喜欢从接受的答案'pairwise'功能。 – Sergey
@ user1497892请接受答案。或添加评论为什么答案不能解决您的问题。 – guettli