【问题标题】:Move Dictionary Keys to lis for particular values将字典键移动到特定值的列表
【发布时间】:2021-10-24 15:44:00
【问题描述】:

我试图让这段代码工作:

civil_freq= {   '430.00': ['aaa'], 
                '430.02': ['aaa'], 
                '430.04': ['aaa'], 
                '430.06': ['bbb'], 
                '430.08': ['bbb'], 
                '430.10': ['bbb'], 
                '430.12': ['none'], 
                '430.14': ['none']}
person_freq=[]
person = 'bbb'
for key in civil_freq:
    if civil_freq[key] == person:
        person_freq.append(civil_freq.get(key))

print(person_freq)

它返回空列表,但我需要类似的东西

['430.06', '430.08', '430.10']

【问题讨论】:

  • if civil_freq[key][0] == person: 怎么样,因为字典的值是一个数组。还有person_freq.append(civil_freq[key][0]);
  • 它返回 ['bbb', 'bbb', 'bbb']

标签: python-3.x list dictionary


【解决方案1】:

问题:您将人员姓名存储在列表中(在您的 civil_freq 字典中),但将其与字符串(变量 person)进行比较。这种比较是行不通的。

试试这个:

person = ["bbb"]
for k, v in civil_freq.items():
    if v == person:
        person_freq.append(k)

print(person_freq)

或将字典中的值从列表更改为字符串!

【讨论】:

  • 它的工作!谢谢你。这本词典是从 csv 导入的结果,也许我应该找到另一种方法来做到这一点......
猜你喜欢
  • 2016-07-31
  • 2012-04-07
  • 1970-01-01
  • 2021-02-08
  • 1970-01-01
  • 2022-01-06
  • 1970-01-01
  • 2019-12-14
  • 1970-01-01
相关资源
最近更新 更多