python-2.7 - 循环遍历列表(带有子列表)并将匹配的 ID 分配给相同的键和该子列表中的所有相应值?
问题描述
我是python编码的新手,我无法解决以下问题:
我有一个列表,其中包含以字符串形式给出的不同动物(ID、日期、时间、纬度、经度)的跟踪点:
aList = [[id,date,time,lat,lon],
[id2,date,time,lat,lon],
[...]]
txt 文件非常大,并且 ID(一种独特的动物)多次出现:
IE:
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 分配给相同的键和所有相应的值? 有什么简单的解决方案吗?欢迎其他“更易于实施”的解决方案!
我希望这是有道理的:)
解决方案
尝试添加与列表列表相同 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']]}
推荐阅读
- php - ErrorException (E_NOTICE) 试图获取非对象的属性“sentimen”
- scala - spark udfs 中使用的模拟函数
- python - SQLAlchemy with_for_update 锁不起作用?
- github - 管理多个 GIT ssh 密钥
- php - 如何将数据从 MySQL 传递到 Google Maps
- installshield - 错误:-7132:流式传输 ISSetup.dll 支持文件 Script Files\Setup.inx 时发生错误
- html - 物化和引导干扰外部 css
- java - 无法通过rest api Java将文件附加到jira中的问题
- tensorflow - 如何在 LSTMCell 中应用层归一化
- python - Python对象代理问题:描述符和@staticmethod