在Python字典中将不同的项附加到不同的键
我初始化了一个字典,如下所示:在Python字典中将不同的项附加到不同的键,python,list,dictionary,append,Python,List,Dictionary,Append,我初始化了一个字典,如下所示: dic = {'A':[],'B':[],'C':[]} 我的目标是通过添加以下值来填充字典: {'A': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], 'B': [0, 2, 4, 6, 8, 10, 12, 14, 16, 18], 'C': [0, 3, 6, 9, 12, 15, 18, 21, 24, 27]} 我能够做到这一点的方法是使用以下代码行: for j in range(0,10): dic['A'].app
dic = {'A':[],'B':[],'C':[]}
我的目标是通过添加以下值来填充字典:
{'A': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
'B': [0, 2, 4, 6, 8, 10, 12, 14, 16, 18],
'C': [0, 3, 6, 9, 12, 15, 18, 21, 24, 27]}
我能够做到这一点的方法是使用以下代码行:
for j in range(0,10):
dic['A'].append(j)
dic['B'].append(j*2)
dic['C'].append(j*3)
我的目标是以一种更聪明、更优雅的方式完成这一过程。
我想这样:
dic[['A','B','C']].append(j,j*2,j*3)
你知道怎么做吗
注意:我的例子可能会误导,我道歉。我附加j、j*2和j*3的原因只是为了说明;附加值可以是非常通用的,例如字母或其他随机数。以下将产生预期结果:
keys = ['A', 'B', 'C']
print({
key: range(0, 10 * i, i)
for i, key in enumerate(keys, 1)
})
结果:
{
'A': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
'C': [0, 3, 6, 9, 12, 15, 18, 21, 24, 27],
'B': [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
}
为了达到您的目的,您可以创建一个dict理解表达式:
keys = ['A', 'B', 'C']
my_dict = {key: [j*i for j in range(10)] for i, key in enumerate(keys, 1)}
我的字典将保存该值:
{
'A': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
'B': [0, 2, 4, 6, 8, 10, 12, 14, 16, 18],
'C': [0, 3, 6, 9, 12, 15, 18, 21, 24, 27],
}
dic[x].附录j**i代表范围10中的j代表i,x代表枚举['A','B','C']这意味着你只需要在j以上的范围内,你可以再举一个字母的例子吗?当然,我不认为会有一个答案像你已经有的那样有效和可读。你需要在回答OP的问题时显示字母1和字母2的内容。我不得不认为这属于显性比隐性好的范畴。我个人认为op应该坚持他的解决方案。这是我的荣幸,但我想不出什么。