为什么列表不保存元素?

时间:2018-10-19 15:59:09

标签: python list dictionary

while(True):
    size,times = map(int,input().split())
    v=list(map(int,input().split()))
    store=dict()
    for i in range(size):
        store[v[i]]=list()
        store[v[i]].append(i+1)
        print(store)
    while(times>0):
        pos,num = map(int,input().split())

例如:

size=8(输入数组大小)times=4

pos=1(列表中num的位置以1开头)num=3

{1: [1]}
{1: [1], 3: [2]}
{1: [1], 3: [2], 2: [3]}
{1: [1], 3: [2], 2: [4]}
{1: [1], 3: [2], 2: [4], 4: [5]}
{1: [1], 3: [6], 2: [4], 4: [5]}
{1: [1], 3: [6], 2: [7], 4: [5]}
{1: [8], 3: [6], 2: [7], 4: [5]}

我想要的东西:

{1: [1]}
{1: [1], 3: [2]}
{1: [1], 3: [2], 2: [3]}
{1: [1], 3: [2], 2: [3,4]}
{1: [1], 3: [2], 2: [3,4], 4: [5]}
{1: [1], 3: [2,6], 2: [4], 4: [5]}
{1: [1], 3: [2,6], 2: [3,4,7], 4: [5]}
{1: [1,8], 3: [2,6], 2: [3,4,7], 4: [5]}

1 个答案:

答案 0 :(得分:1)

此行THis is how I'm using these kafka templates in other class @Autowired @Qualifier("eventProducerKafkaTemplate") private KafkaTemplate<JsonNode, JsonNode> eventProducerKafkaTemplate; @Autowired @Qualifier("eventAvroProducerKafkaTemplate") private KafkaTemplate<SpecificRecord,SpecificRecord> eventAvroProducerKafkaTemplate; public ReturnTYpe methodName() { eventProducerKafkaTemplate.send(****, ****, ****); eventAvroProducerKafkaTemplate.send(****, ****, ****); } 每次都会创建一个新列表

将其删除,然后将下一个附加行更改为:

store[v[i]]=list()

仅当列表不存在时,该列表才会创建。

或者使用store.setdefault(v[i], list()).append(i+1)