如何在字典中添加python列表的元素

时间:2019-09-27 16:37:14

标签: python arrays

下面是数组列表:

{'array_1': [1, 2, 3, 4], 'array_2': [3, 4, 5, 6], 'array_3': [7, 8, 9, 0]}

用于数组输入的代码:

def main():

  a = int(input("Enter the number of array's: "))
  size = int(input('Each array size: '))
  arrays = dict()
  for i in range(1, a + 1):

    arrays['array_' + str(i)] = list(
    map(lambda j: int(input('value: ')), [j for j in range(size)]))

  print(arrays)

我想在“ array_2”中添加“ array_1”

3 个答案:

答案 0 :(得分:1)

为澄清起见,您有一个列表字典,而不是数组列表。我认为这就是您要寻找的

list_dict = {'array_1': [1, 2, 3, 4], 'array_2': [3, 4, 5, 6], 'array_3': [7, 8, 9, 0]}
[sum(items) for items in zip(list_dict['array_1'], list_dict['array_2'])]

这将导致列表[4, 6, 8, 10]-我假设这就是添加array_1和array_2的意思

答案 1 :(得分:1)

如果addconcatenate,请执行以下操作:

new_list = array['array_1'] + array['array_2']

否则,如果您想添加单个值,则可以执行以下操作:

from operator import add
new_array = list(map(add,array['array_1'],array['array_2']))

答案 2 :(得分:1)

如果要对元素求和,则

d= {'array_1': [1, 2, 3, 4], 'array_2': [3, 4, 5, 6], 'array_3': [7, 8, 9, 0]}

[sum(x) for x in zip(*d.values())] # will add elements from all the lists 

输出:

[11, 14, 17, 10]

如果只想添加与某些键相对应的列表,请按照相同的步骤进行操作,然后可以过滤键以创建新字典并以相同方式使用它

[sum(x) for x in zip(*{key:value for key,value in d.items() if key in ['array_1','array_2']}.values())] 

输出

[4, 6, 8, 10]