list1 = [{'agent': 0, 'loc': (1, 2), 'timestep': 1}, {'agent': 1, 'loc': (1, 3), 'timestep': 2}]

我有这样的字典列表,我想附加10个与原始列表的最后一个元素相同的项目,并将每个时间步的值增加1,以新附加的元素结束,使时间步按升序增加1.我try 像下面这样迭代,但最终将所有时间戳值都增加到了一个很大的数字.

for i in range(10):
        list1.append(constraints[-1])
        list1[-1]['timestep'] +=1

非常感谢您的帮助

推荐答案

try 添加.copy():

list1 = [
    {"agent": 0, "loc": (1, 2), "timestep": 1},
    {"agent": 1, "loc": (1, 3), "timestep": 2},
]

for i in range(10):
    list1.append(list1[-1].copy())
    list1[-1]["timestep"] += 1

print(list1)

打印:

[
    {"agent": 0, "loc": (1, 2), "timestep": 1},
    {"agent": 1, "loc": (1, 3), "timestep": 2},
    {"agent": 1, "loc": (1, 3), "timestep": 3},
    {"agent": 1, "loc": (1, 3), "timestep": 4},
    {"agent": 1, "loc": (1, 3), "timestep": 5},
    {"agent": 1, "loc": (1, 3), "timestep": 6},
    {"agent": 1, "loc": (1, 3), "timestep": 7},
    {"agent": 1, "loc": (1, 3), "timestep": 8},
    {"agent": 1, "loc": (1, 3), "timestep": 9},
    {"agent": 1, "loc": (1, 3), "timestep": 10},
    {"agent": 1, "loc": (1, 3), "timestep": 11},
    {"agent": 1, "loc": (1, 3), "timestep": 12},
]

Python相关问答推荐

如何在BeautifulSoup中链接Find()方法并处理无?

即使在可见的情况下也不相互作用

如何让剧作家等待Python中出现特定cookie(然后返回它)?

运行总计基于多列pandas的分组和总和

海运图:调整行和列标签

如何让程序打印新段落上的每一行?

用Python解密Java加密文件

如何从在虚拟Python环境中运行的脚本中运行需要宿主Python环境的Shell脚本?

导入...从...混乱

如何使用Numpy. stracards重新编写滚动和?

在Python中使用yaml渲染(多行字符串)

如何获取Python synsets列表的第一个内容?

如何将数据帧中的timedelta转换为datetime

比Pandas 更好的 Select

如何获得3D点的平移和旋转,给定的点已经旋转?

使用Python TCP套接字发送整数并使用C#接收—接收正确数据时出错

在任何要保留的字段中添加引号的文件,就像在Pandas 中一样

PYTHON中的selenium不会打开 chromium URL

如何将列表从a迭代到z-以抓取数据并将其转换为DataFrame?

Pandas查找给定时间戳之前的最后一个值