2017-04-06 79 views
0

我有一個Python函數返回一個字典。現在我想多次調用此函數,並將所有這些返回的字符追加到第一個字符。Python:如何在沒有「鍵」的情況下添加字典?

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'}, ... 

我怎麼能archieve呢?

回答

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'}...] 
+0

感謝這個快速和簡單的答案:) – Judith

+0

@Judith如果這有助於,請接受這個答案。 – McGrady

+0

對不起,但我不知道如何接受它。 – Judith

相關問題