Python 如何使用包含两个列表中多个值的键创建dict?
我有一个包含以下数据的文本文件:Python 如何使用包含两个列表中多个值的键创建dict?,python,list,dictionary,Python,List,Dictionary,我有一个包含以下数据的文本文件: C1,0,0,0,0,0,10 C2,5,5,0,5,5,10 C3,10,10,0,10,10,10 我将这些数据带到Python脚本中,最终目标是使其采用以下格式: columnCoordDict = {'C1': [0,0,0,0,0,10], 'C2': [5,5,0,5,5,10], 'C3': [10,10,0,10,10,10]} 到目前为止,我的方法是将数据放入脚本中,然后将其分为两个列表: 列表1-包含键('C1','C2','C3')的列
C1,0,0,0,0,0,10
C2,5,5,0,5,5,10
C3,10,10,0,10,10,10
我将这些数据带到Python脚本中,最终目标是使其采用以下格式:
columnCoordDict = {'C1': [0,0,0,0,0,10], 'C2': [5,5,0,5,5,10], 'C3': [10,10,0,10,10,10]}
到目前为止,我的方法是将数据放入脚本中,然后将其分为两个列表:
列表1-包含键('C1','C2','C3')的列表。列表2-包含值(表示x、y、z坐标)的列表 然而,我现在不确定如何以我上面介绍的格式创建dict。我尝试了一种zip方法,它产生了:
{'C1': 0, 'C2': 0, 'C3': 0}
但我需要为每个键指定多个值。有人有什么建议吗?您可以这样做:
frameData = open("frameData.txt","r")
dictData = {i.split(",")[0]: list(map(int, i.split(",")[1:])) for i in frameData.readlines()}
frameData.close()
您可以这样做:
frameData = open("frameData.txt","r")
dictData = {i.split(",")[0]: list(map(int, i.split(",")[1:])) for i in frameData.readlines()}
frameData.close()
我已通过以下方式获得了想要的结果:
frameData = open("frameData.txt","r")
data = frameData.read().splitlines()
frameData.close()
columnCoordDict = {}
for line in data:
items = line.split(',')
columnCoordDict[items[0]] = list(map(lambda x: int(x), items[1:]))
print(columnCoordDict)
我已通过以下方式获得了想要的结果:
frameData = open("frameData.txt","r")
data = frameData.read().splitlines()
frameData.close()
columnCoordDict = {}
for line in data:
items = line.split(',')
columnCoordDict[items[0]] = list(map(lambda x: int(x), items[1:]))
print(columnCoordDict)
.readlines
是不必要的.readlines
是不必要的接受任何答案以解决问题。接受任何答案以解决问题。