从 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 dicts,其中每个字典代表一个乘客对象。 (或者,如果某些东西对乘客来说是独一无二的,比如 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]