使用旧元素但顺序不同重新创建新列表



我有一个像这样的dict列表

[ {'elemend_id':1, 'data': 'datachunk1'}, {'elemend_id':2, 'data': 'datachunk2'}, {'elemend_id':3, 'data': 'datachunk3'} ... {'elemend_id':99, 'data': 'datachunk99'}]

所以脚本处理数据并在某个时刻停止。我可以存储关于最后一个元素的信息,下次列表可能会更大(会添加新的元素(。如果脚本至少运行过一次,我需要对它进行转换,以便它停止的元素(例如element_id 5(将是列表的第一个元素,并且这些元素之前出现的将被添加到列表的最后

[ {'elemend_id':5, 'data': 'datachunk5'}, {'elemend_id':6, 'data': 'datachunk6'}, ... {'elemend_id':99, 'data': 'datachunk99'}, {'elemend_id':1, 'data': 'datachunk1'} ... {'elemend_id':4, 'data': 'datachunk4'}]

所以每次我必须用相同的数据创建新的列表,但第一个元素将是上次停止的一个脚本,另一个将添加到尾部。听起来问题不大,但我仍然不知道如何正确地做这件事;蟒蛇的方式";。提前感谢!

下面是一个如何按照问题要求进行操作的示例:

x = [ {'element_id':i, 'data': 'datachunk'+str(i)} for i in range(1, 15) ]
print(x)
row = 5
x = x[row - 1:] + x[:row - 1]
print()
print(x)

输出:

[{'element_id': 1, 'data': 'datachunk1'}, {'element_id': 2, 'data': 'datachunk2'}, {'element_id': 3, 'data': 'datachunk3'}, {'element_id': 4, 'data': 'datachunk4'}, {'element_id': 5, 'data': 'datachunk5'}, {'element_id': 6, 'data': 'datachunk6'}, {'element_id': 7, 'data': 'datachunk7'}, {'element_id': 8, 'data': 'datachunk8'}, {'element_id': 9, 'data': 'datachunk9'}, {'element_id': 10, 'data': 'datachunk10'}, {'element_id': 11, 'data': 'datachunk11'}, {'element_id': 12, 'data': 'datachunk12'}, {'element_id': 13, 'data': 'datachunk13'}, {'element_id': 14, 'data': 'datachunk14'}]
[{'element_id': 5, 'data': 'datachunk5'}, {'element_id': 6, 'data': 'datachunk6'}, {'element_id': 7, 'data': 'datachunk7'}, {'element_id': 8, 'data': 'datachunk8'}, {'element_id': 9, 'data': 'datachunk9'}, {'element_id': 10, 'data': 'datachunk10'}, {'element_id': 11, 'data': 'datachunk11'}, {'element_id': 12, 'data': 'datachunk12'}, {'element_id': 13, 'data': 'datachunk13'}, {'element_id': 14, 'data': 'datachunk14'}, {'element_id': 1, 'data': 'datachunk1'}, {'element_id': 2, 'data': 'datachunk2'}, {'element_id': 3, 'data': 'datachunk3'}, {'element_id': 4, 'data': 'datachunk4'}]

最新更新