从 Dictionary 中删除具有不同 Keys 的对应值
Delete corresponding values with different Keys from Dictionary
我是 python 的新手,我正在编写航班预订系统程序。我在删除乘客详细信息时遇到了删除问题,因为我有包含多个键的字典,并且键的值是分开的个人名单。
我尝试了多种使用 pop 函数的方法,它只删除了特定的 Key 和相应的值
如何删除具有不同键的乘客详细信息的所有值。
例如:如果用户输入'tes'那么我需要删除对应的flightId,Age,destination,dlytype,source
我收到如下用户输入
Passenger = raw_input("Enter Name to delete")
字典值如下:
{'Passenger': ['tes', 'ssss'],
'FlightId': ['ssss', 'tre'],
'Age': ['12', '34'],
'Destination': ['ssss', 'ssssss'],
'Flytype': ['economy', 'business'],
'Source': ['sss', 'sssss']}
声明的字典:
Name_list=[]
Age_list=[]
Source_list=[]
Destination_list=[]
Flytype_list=[]
FlightId_list=[]
Passenger_dict= {'Passenger':Name_list,
'Age':Age_list,
'Source':Source_list,
'Destination':Destination_list,
'Flytype':Flytype_list,'FlightId':FlightId_list}
请帮忙解决这个问题。
提前致谢
存储数据的更好数据结构是 list
of dict
s,其中每个字典代表一个乘客对象。 (或者,如果某些东西对乘客来说是独一无二的,比如 passenger_id,请使用它来创建以 passenger_id
作为主字典键的字典)
但是,在您当前的数据结构中,您可以这样做:
第一步:根据Passenger
获取乘客索引。如果在列表
中找不到 name
,它将引发 ValueError
异常
passenger_index = Passenger_dict['Passenger'].index(Passenger)
步骤 2:从所有列表中删除 passenger_index
索引处的元素
for v in Passenger_dict.values():
del v[passenger_index]
我是 python 的新手,我正在编写航班预订系统程序。我在删除乘客详细信息时遇到了删除问题,因为我有包含多个键的字典,并且键的值是分开的个人名单。
我尝试了多种使用 pop 函数的方法,它只删除了特定的 Key 和相应的值
如何删除具有不同键的乘客详细信息的所有值。
例如:如果用户输入'tes'那么我需要删除对应的flightId,Age,destination,dlytype,source
我收到如下用户输入
Passenger = raw_input("Enter Name to delete")
字典值如下:
{'Passenger': ['tes', 'ssss'],
'FlightId': ['ssss', 'tre'],
'Age': ['12', '34'],
'Destination': ['ssss', 'ssssss'],
'Flytype': ['economy', 'business'],
'Source': ['sss', 'sssss']}
声明的字典:
Name_list=[]
Age_list=[]
Source_list=[]
Destination_list=[]
Flytype_list=[]
FlightId_list=[]
Passenger_dict= {'Passenger':Name_list,
'Age':Age_list,
'Source':Source_list,
'Destination':Destination_list,
'Flytype':Flytype_list,'FlightId':FlightId_list}
请帮忙解决这个问题。
提前致谢
存储数据的更好数据结构是 list
of dict
s,其中每个字典代表一个乘客对象。 (或者,如果某些东西对乘客来说是独一无二的,比如 passenger_id,请使用它来创建以 passenger_id
作为主字典键的字典)
但是,在您当前的数据结构中,您可以这样做:
第一步:根据
中找不到Passenger
获取乘客索引。如果在列表name
,它将引发ValueError
异常passenger_index = Passenger_dict['Passenger'].index(Passenger)
步骤 2:从所有列表中删除
passenger_index
索引处的元素for v in Passenger_dict.values(): del v[passenger_index]