下面是数组列表:
{'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”
答案 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)
如果add
是concatenate
,请执行以下操作:
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]