使多个字符串具有相同的字典键

2024-04-23 11:58:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试为不同的键生成输出相同值的字典条目,例如: d={ ('age'、'old'、'how old'、'maturity'):'18', ('a'、'e'、'i'、'o'):'元音', 等。。。 } 当然,这将整个元组保存为键,这是没有帮助的。你知道吗

我试过:

d = {
    ('age' or 'old' or 'how old' or 'maturity'): '18',
    ('a' or 'e' or 'i' or 'o'): 'vowel',
    etc...
    }

但这只适用于元组的第一个元素。如果我们把“or”操作符改成“And”,第一个元素就停止工作了。你知道吗

理想情况下,代码应按以下方式运行:

d = {
    'a', 'b', 'c': 4,
    'd', 'e', 'f': 2,
    }

d['a'] == 4, True
d['c'] == 4, True
d['e'] == 2, True

Tags: orandtrue元素age字典etc条目
3条回答
myDict = {}
for key in ['a', 'c', 'd']:
    myDict[key] = 10
for key in ['b', 'e']:
    myDict[key] = 20

你必须给一个键赋值。你知道吗

否则可以尝试tuple或list。你知道吗

试试这个评论,我会建议不同的方法。你知道吗

您只需遍历一个键列表,该值就是您想要的:

d = {}
s = ('a' , 'e' , 'i' , 'o')
for v in s:
   d[v] = 4
assert d == {'a': 4, 'e': 4, 'i': 4, 'o': 4}

可以使用以下两种方法来实现这一点:

方法1

d = {}
for key in ['age', 'old', 'how old','maturity']: 
    d[key] = '18'
for key in ['a', 'e', 'i', 'o']: 
    d[key] = 'vowel'

方法2

d_age_keys_value = '18'
d_vowel_keys_value = 'vowel'
d = {'age': d_age_keys_value, 'old': d_age_keys_value, 'how old': d_age_keys_value, 'maturity': d_age_keys_value, 
     'a': d_vowel_keys_value, 'e': d_vowel_keys_value, 'i': d_vowel_keys_value, 'o': d_vowel_keys_value}

相关问题 更多 >