2017-04-06 54 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

相关问题