python - for循环中的Python字典和列表
问题描述
我的代码是这样的
for dict_item in data:
MILLISECONDS = dict_item['Start_Time'].split('(')[1][:-2]
mydict = {'Cinema_Name':dict_item['Cinema_Name'],
'Movie_Time':datetime.datetime.fromtimestamp(int(MILLISECONDS)/1000.0).strftime('%B-%d-%Y %I:%M %p'),
ListOfJson.append(mydict)
输出是这个
{
"Cinema_Name": "Cinema 3",
"Movie_Time": "October-13-2018 06:20 PM"
},
{
"Cinema_Name": "Cinema 3",
"Movie_Time": "October-13-2018 09:15 PM"
},
{
"Cinema_Name": "Cinema 6",
"Movie_Time": "October-12-2018 11:30 AM"
},
{
"Cinema_Name": "Cinema 6",
"Movie_Time": "October-12-2018 02:25 PM"
}
但我想要一个输出,它将所有与来的 Cinema_Name 合并并将他们的时间放在一个列表中。像这样的东西
{
"Cinema_Name": "Cinema 3"
"Movie_Time": " ["October-13-2018 06:20 PM","October-13-2018 09:15 PM"]
},
{
"Cinema_Name": "Cinema 6"
"Movie_Time: ["October-12-2018 11:30 AM" ,"October-12-2018 02:25 PM"]
无论如何我可以做到这一点吗?
解决方案
您可以使用 dict 来跟踪Movie_Time
新条目的第一个条目的列表,Cinema_Name
以便可以将相同的后续条目Cinema_Name
附加到同一列表中:
ListOfJson = [
{
"Cinema_Name": "Cinema 3",
"Movie_Time": "October-13-2018 06:20 PM"
},
{
"Cinema_Name": "Cinema 3",
"Movie_Time": "October-13-2018 09:15 PM"
},
{
"Cinema_Name": "Cinema 6",
"Movie_Time": "October-12-2018 11:30 AM"
},
{
"Cinema_Name": "Cinema 6",
"Movie_Time": "October-12-2018 02:25 PM"
}
]
l = []
index = {}
for d in ListOfJson:
if d['Cinema_Name'] in index:
index[d['Cinema_Name']].append(d['Movie_Time'])
else:
index[d['Cinema_Name']] = d['Movie_Time'] = [d['Movie_Time']]
l.append(d)
print(l)
使用您的示例输入,l
将变为:
[{'Cinema_Name': 'Cinema 3', 'Movie_Time': ['October-13-2018 06:20 PM', 'October-13-2018 09:15 PM']}, {'Cinema_Name': 'Cinema 6', 'Movie_Time': ['October-12-2018 11:30 AM', 'October-12-2018 02:25 PM']}]
推荐阅读
- javascript - ReactJS:eventListener tranistionend 没有在 useEffect 中被清理
- java - 我如何在 Java 中获得插入符号位置
- android - 允许录制屏幕未在 android 的应用程序外部显示
- python - 如何找到关于某个坐标的表面的最近点?
- git - git合并开发和主问题
- python - pyldavis AttributeError:“DataFrame”对象没有属性“ix”
- c# - 协变接口不可能包含类型参数是协变类型的泛型类型吗?
- c++ - 如何使用自定义 BoringSSL 符号前缀构建 GRPC?
- python-3.x - 如何过度分配作业或“回收” SLURM 分配,以便它也可以被另一个作业使用?
- flutter - 独立为图像的每个部分着色