【问题标题】:Delete corresponding values with different Keys from Dictionary从字典中删除具有不同键的对应值
【发布时间】:2021-04-28 10:55:29
【问题描述】:

我是 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}

请帮忙。

提前致谢

【问题讨论】:

    标签: python list python-2.7 dictionary del


    【解决方案1】:

    更好的数据结构来存储你的数据将是list 的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]
      

    【讨论】:

      猜你喜欢
      • 2021-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-27
      相关资源
      最近更新 更多