Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python字典中将不同的项附加到不同的键_Python_List_Dictionary_Append - Fatal编程技术网

在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应该坚持他的解决方案。这是我的荣幸,但我想不出什么。