如何在字典的列表值内附加值

时间:2019-09-26 13:43:01

标签: python list dictionary

default-interface="public"

我的出场>> {'x':'4','y':'5','z':'6'}

我的期望      socket-binding-group

7 个答案:

答案 0 :(得分:1)

您必须对列表使用内置方法

for i in m:
    result['x'].append(i[0])
    result['y'].append(i[1])
    result['z'].append(i[2])

您还可以使用zip方法删除如下所示的for循环:

zipped_lists = list(zip(*[['1', '2', '3'], ['4', '5', '6']]))

result['x'] = list(zipped_lists[0])
result['y'] = list(zipped_lists[0])
result['z'] = list(zipped_lists[0])

答案 1 :(得分:1)

这是将dictzip结合使用的一种方法。

d = [['1', '2', '3'], ['4', '5', '6']]
result = ['x','y', 'z']
print(dict(zip(result, zip(*d))))
# or
print({k: list(v) for k, v in zip(result, zip(*d))})

输出:

{'x': ('1', '4'), 'y': ('2', '5'), 'z': ('3', '6')}
#
{'x': ['1', '4'], 'y': ['2', '5'], 'z': ['3', '6']}

答案 2 :(得分:0)

y = "1 2 3 ; 4 5 6;"
m = [x.strip().split(" ") for x in y.split(";") if len(x.strip()) > 0]
m
>> [['1', '2', '3'], ['4', '5', '6']]
result = {'x':[],'y':[], 'z':[]}
for i in m:
    result['x'].append(i[0])
    result['y'].append(i[1])
    result['z'].append(i[2])

result   

答案 3 :(得分:0)

您要替换的列表不附加在列表上。

y = "1 2 3 ; 4 5 6;"
m = [x.strip().split(" ") for x in y.split(";") if len(x.strip()) > 0]
m
>> [['1', '2', '3'], ['4', '5', '6']]
result = {'x':[],'y':[], 'z':[]}
for i in m:
    result['x'].append(i[0])
    result['y'].append(i[1])
    result['z'].append(i[2])

result  

答案 4 :(得分:0)

由于使用的字典包含每个值的列表,因此需要使用功能append处理列表:

y = "1 2 3 ; 4 5 6;"
m = [x.strip().split(" ") for x in y.split(";") if len(x.strip()) > 0]
result = {'x':[],'y':[], 'z':[]}
for i in range(len(m)):
    result['x'].append(m[i][0])
    result['y'].append(m[i][1])
    result['z'].append(m[i][2])
print(result)

输出:

{'x': ['1', '4'], 'y': ['2', '5'], 'z': ['3', '6']}

答案 5 :(得分:0)

我将添加defaultdict方法:

from collections import defaultdict

result = defaultdict(list)
for i in m:
    result['x'].append(i[0])
    result['y'].append(i[1])
    result['z'].append(i[2])

答案 6 :(得分:0)

m = [['1', '2', '3'], ['4', '5', '6']]
result_keys  = ('x', 'y', 'z')

result = {}
for m1, m2, key in zip(*m, result_keys):
    result[key] = [int(m1), int(m2)]


print(result)

输出:

{'x': [1, 4], 'y': [2, 5], 'z': [3, 6]}