Python:如何在没有“key”的情况下附加到dict?

时间:2017-04-06 12:37:11

标签: python dictionary for-loop append

我有一个返回dict的python函数。现在我想多次调用这个函数,并将所有这些返回的dicts附加到第一个。

def generate_dict(greeting):
    n = len(greeting)
    i = int(np.random.random()*(n-1))
    j = int(np.random.random()*(n-1))
    text = greeting[i] + greeting[j]
    start = text.find(greeting[i])
    return {"text": text,
            "Intention": "Greet",
            "entity": [
                {
                     "start": start,
                     "end": start + len(greeting[i]),
                     "value": greeting[i],
                     "entity": "Hello"
                }
            ],
           }

greeting = ['Hallo', 'Hey', 'Hi']

dict1 = generate_dict(greeting)
for k in range(1,10):
    dict1[k] = generate_dict(greeting)

print dict1

这段代码给我的结果如下:

{1: {'text': 'HeyHey', 'entity': [{'start': 0, 'end': 3, 'value': 'Hey', 'entity': 'Hello'}], 'Intention': 'Greet'}, 2: {'text': 'HeyHallo', 'entity': [{'start': 0, 'end': 3, 'value': 'Hey', 'entity': 'Hello'}], 'Intention': 'Greet'}, 3: {'text': 'HeyHallo', 'entity': [{'start': 0, 'end': 3, 'value': 'Hey', 'entity': 'Hello'}], 'Intention': 'Greet'}, 4: {'text': 'HeyHallo', 'entity': [{'start': 0, 'end': 3, 'value': 'Hey', 'entity': 'Hello'}], 'Intention': 'Greet'}, ... }

但我想得到:

{'text': 'HeyHey', 'entity': [{'start': 0, 'end': 3, 'value': 'Hey', 'entity': 'Hello'}], 'Intention': 'Greet'},{'text': 'HeyHallo', 'entity': [{'start': 0, 'end': 3, 'value': 'Hey', 'entity': 'Hello'}], 'Intention': 'Greet'},{'text': 'HeyHallo', 'entity': [{'start': 0, 'end': 3, 'value': 'Hey', 'entity': 'Hello'}], 'Intention': 'Greet'},{'text': 'HeyHallo', 'entity': [{'start': 0, 'end': 3, 'value': 'Hey', 'entity': 'Hello'}], 'Intention': 'Greet'}, ...

我怎样才能达到这个目的?

1 个答案:

答案 0 :(得分:0)

我想您需要一个列表来存储这些数据,也许您可​​以尝试:

dict1= [generate_dict(greeting) for k in range(1,10)]

dict1:

[{'text': 'HalloHallo', 'entity': [{'start': 0, 'end': 5, 'value': 'Hallo', 'entity': 'Hello'}], 'Intention': 'Greet'}, 
{'text': 'HalloHey', 'entity': [{'start': 0, 'end': 5, 'value': 'Hallo', 'entity': 'Hello'}], 'Intention': 'Greet'}, 
{'text': 'HeyHallo', 'entity': [{'start': 0, 'end': 3, 'value': 'Hey', 'entity': 'Hello'}], 'Intention': 'Greet'}...]