【发布时间】:2019-07-13 07:58:36
【问题描述】:
在作为列表成员的字典中插入值时面临问题。 当我将用户输入作为索引时,它会更改所有索引的值。
nisl = int(input())
isl = [{'x1':None,'y1':None,'x2':None,'y2':None,}]*nisl
# isl = []
# ship[0]['x'] = '1'
for i in range(nisl):
isl[i]['x1'],isl[i]['y1'],isl[i]['x2'],isl[i]['y2'] = map(int, input().split(' '))
print(isl)
我得到的输出:
2
0 0 1 1
[{'x1': 0, 'y1': 0, 'x2': 1, 'y2': 1}, {'x1': 0, 'y1': 0, 'x2': 1, 'y2': 1}]
3 0 1 4
[{'x1': 3, 'y1': 0, 'x2': 1, 'y2': 4}, {'x1': 3, 'y1': 0, 'x2': 1, 'y2': 4}]
我的预期:
2
0 0 1 1
[{'x1': 0, 'y1': 0, 'x2': 1, 'y2': 1}, {'x1': None, 'y1': None, 'x2': None, 'y2': None}]
3 0 1 4
[{'x1': 0, 'y1': 0, 'x2': 1, 'y2': 1}, {'x1': 3, 'y1': 0, 'x2': 1, 'y2': 4}]
【问题讨论】:
标签: python list dictionary python-3.6