如何在Python中生成dict?
我是Python的初学者,希望获得帮助: 我的小剧本:如何在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',
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)