default-interface="public"
我的出场>> {'x':'4','y':'5','z':'6'}
我的期望
socket-binding-group
答案 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)
这是将dict
与zip
结合使用的一种方法。
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]}