遍历一个列表(带有子列表)并将匹配的 ID 分配给相同的键和该子列表中的所有对应值?
Looping through a list (with sublists) and assign the matching IDs to the same key and all of the corresponding values from that sublist?
我是 python 编码新手,我无法解决以下问题:
我有一个列表,其中包含以字符串形式给出的不同动物(ID、日期、时间、纬度、经度)的跟踪点:
aList = [[id,date,time,lat,lon],
[id2,date,time,lat,lon],
[...]]
txt 文件很大,ID(一种独特的动物)多次出现:
即:
aList = [['25','20-05-13','15:16:17','34.89932','24.09421'],
['24','20-05-13','15:16:18','35.89932','23.09421],
['25','20-05-13','15:18:15','34.89932','24.13421'],
[...]]
我想做的是在字典中对 ID 进行排序,这样每个唯一的 ID 都将成为键,所有日期、时间、纬度和经度都将成为值。然后我想将每个单独的 ID 写入一个新的 txt 文件,以便特定 ID 的所有值都在一个 txt 文件中。输出应如下所示:
{'25':['20-05-13','15:16:17','34.89932','24.09421'],
['20-05-13','15:18:15','34.89932','24.13421'],
[...],
'24':['20-05-13','15:16:18','35.89932','23.09421'],
[...]
}
我尝试了以下方法(以及许多其他无效的解决方案):
items = {}
for line in aList:
key,value = lines[0],lines[1:]
items[key] = value
这会导致一个键具有列表中该特定键的最后一个值:
{'25':['20-05-13','15:18:15','34.89932','24.13421'],
'24':['20-05-13','15:16:18','35.89932','23.09421']}
如何遍历我的列表并将相同的 ID 分配给相同的键和所有对应的值?
有什么简单的解决办法吗?欢迎其他 "easier to implement" 解决方案!
我希望它有意义:)
尝试添加与列表列表具有相同 ID 的所有列表:
aList = [['25','20-05-13','15:16:17','34.89932','24.09421'],
['24','20-05-13','15:16:18','35.89932','23.09421'],
['25','20-05-13','15:18:15','34.89932','24.13421'],
]
items = {}
for line in aList:
key,value = line[0],line[1:]
if key in items:
items[key].append(value)
else:
items[key] = [value]
print items
输出:
{'24': [['20-05-13', '15:16:18', '35.89932', '23.09421']], '25': [['20-05-13', '15:16:17', '34.89932', '24.09421'], ['20-05-13', '15:18:15', '34.89932', '24.13421']]}
我是 python 编码新手,我无法解决以下问题:
我有一个列表,其中包含以字符串形式给出的不同动物(ID、日期、时间、纬度、经度)的跟踪点:
aList = [[id,date,time,lat,lon],
[id2,date,time,lat,lon],
[...]]
txt 文件很大,ID(一种独特的动物)多次出现:
即:
aList = [['25','20-05-13','15:16:17','34.89932','24.09421'],
['24','20-05-13','15:16:18','35.89932','23.09421],
['25','20-05-13','15:18:15','34.89932','24.13421'],
[...]]
我想做的是在字典中对 ID 进行排序,这样每个唯一的 ID 都将成为键,所有日期、时间、纬度和经度都将成为值。然后我想将每个单独的 ID 写入一个新的 txt 文件,以便特定 ID 的所有值都在一个 txt 文件中。输出应如下所示:
{'25':['20-05-13','15:16:17','34.89932','24.09421'],
['20-05-13','15:18:15','34.89932','24.13421'],
[...],
'24':['20-05-13','15:16:18','35.89932','23.09421'],
[...]
}
我尝试了以下方法(以及许多其他无效的解决方案):
items = {}
for line in aList:
key,value = lines[0],lines[1:]
items[key] = value
这会导致一个键具有列表中该特定键的最后一个值:
{'25':['20-05-13','15:18:15','34.89932','24.13421'],
'24':['20-05-13','15:16:18','35.89932','23.09421']}
如何遍历我的列表并将相同的 ID 分配给相同的键和所有对应的值? 有什么简单的解决办法吗?欢迎其他 "easier to implement" 解决方案!
我希望它有意义:)
尝试添加与列表列表具有相同 ID 的所有列表:
aList = [['25','20-05-13','15:16:17','34.89932','24.09421'],
['24','20-05-13','15:16:18','35.89932','23.09421'],
['25','20-05-13','15:18:15','34.89932','24.13421'],
]
items = {}
for line in aList:
key,value = line[0],line[1:]
if key in items:
items[key].append(value)
else:
items[key] = [value]
print items
输出:
{'24': [['20-05-13', '15:16:18', '35.89932', '23.09421']], '25': [['20-05-13', '15:16:17', '34.89932', '24.09421'], ['20-05-13', '15:18:15', '34.89932', '24.13421']]}