如何在Python中生成dict?

如何在Python中生成dict?,python,Python,我是Python的初学者,希望获得帮助: 我的小剧本: def get_link(): #My datas dict = {} dict['Label1'] = 'URL1' dict['Label2'] = 'URL2' return [{'label': l, 'url': u} for l, u in dict.iteritems()] get_link() 所以,问题到了最后。如何返回我想要的结果 a={'label':'Label1',

我是Python的初学者,希望获得帮助: 我的小剧本:

def get_link():

    #My datas
    dict = {}
    dict['Label1'] = 'URL1'
    dict['Label2'] = 'URL2'

    return [{'label': l, 'url': u} for l, u in dict.iteritems()]


get_link()
所以,问题到了最后。如何返回我想要的结果

a={'label':'Label1','uri':'URL1'},{'label':'Label2','uri': 'URI2'}


return
语句仅在函数内部有效。将代码移动到函数中。除此之外,您的代码无论如何都会被破坏,并且不清楚您打算做什么。

删除return语句,除非您实际拥有一个函数

否则你可以使用听写理解

a = {'label': label[i], 'uri': uri[i] for i in range(len(label)) }
不过,实际上,您应该从一开始就将标签和URL一起存储在一个列表中

a = [] 
a.append( ('label', 'url',) ) 

从你的问题中我可以看出,标签和值之间总是有关联的。因此,我建议将两者存储在一个词典中,而不是将信息分散在两个独立的结构中:

dict = {}
dict['Label1'] = 'URL1'
dict['Label2'] = 'URL2'
要输出它,您可以使用一个简单的循环:

[{'label': l, 'url': u} for l, u in dict.items()]
当然,这个解决方案只有在给定标签只有一个URL时才有意义。否则,您需要将字典转换为一个列表,在其中添加标签/url对。

希望这有帮助
因此,对于您的最终结果,您希望
a
成为
dict
s的
列表?想必
a
是一个列表?包括您正在运行的真实代码,而不是任意的代码片段,将有助于您获得更好的答案。你也没有说“问题”是什么。您是否遇到语法错误?堆栈跟踪?不正确的行为?怎么了?你有一些语法错误,append是一个方法,你给它赋值,没有
a
,你试图向它追加,你返回了一个值,但不在函数代码块中。我想a是一个dictYes,对于给定的标签,只有一个URL。我将测试你的代码
def get_link():#我的数据dict={}dict['Label1']='URL1'dict['Label2']='URL2'[{'label':l,'url':u}表示a中的l,u。iteritems()]get_link()
\a没有定义只要用
dict
替换
a
,你就可以了。如果将最后一行放入函数中,则返回该行。
def urlAndLables():
    label = {}
    uri = {}

#My datas
    label[0] = 'Label1'
    uri[0] = 'URL1'

    label[1] = 'Label2'
    uri[1] = 'URL2'

    #Check if list is valid
    if(len(label) != len(uri)):
        print("Error label or uri missing")

    a=[]

    for i in range(len(label)):
        a.append({label[i], uri[i]})

    return a
if __name__ == "__main__":
    new_dict = urlAndLables()
    print (new_dict)