在Python中为字典中的键、值赋值
我很难理解字典 说明正确的语法是在Python中为字典中的键、值赋值,python,list,dictionary,dictionary-comprehension,Python,List,Dictionary,Dictionary Comprehension,我很难理解字典 说明正确的语法是{key:value for(key,value)in iterable} 这是否意味着我不能使用下面的代码,创建一个更优雅的oneliner来从os.listdir创建字典 import os d = {} for item in os.listdir(path): d[item] = os.listdir(path + "/" + item + "/urls") 我试图从路径创建字典键,然后从静态子文件夹/u
{key:value for(key,value)in iterable}
这是否意味着我不能使用下面的代码,创建一个更优雅的oneliner来从os.listdir
创建字典
import os
d = {}
for item in os.listdir(path):
d[item] = os.listdir(path + "/" + item + "/urls")
我试图从路径创建字典键,然后从静态子文件夹/url
创建值
{'foo':['bar','bah'],'foo1':['bar1','bah1']}
我在enumerate(os.listdir(path))}中尝试了a={v:k代表k,v的变体
,但根据我的评论,我不清楚是否可以通过字典理解来实现。尝试:
d = {item: os.listdir(path + "/" + item + "/urls") for item in os.listdir(path)}
说明:
对于由os.listdir(path)
返回的每个元素(在我的例子中命名为item
),将创建以下键:值对,其中:
os.listdir(path+“/”+item+“/url”)
os.listdir(path)
返回的每个元素(在我的例子中命名为item
),将创建以下键:值对,其中:
os.listdir(path+“/”+item+“/url”)
当您定义了
路径
时,这应该可以工作:
d = {item: os.listdir(path + "/" + item + "/urls") for item in os.listdir(path)}
唯一的问题是在计算路径不存在时检查
FileNotFoundError
异常。因此,如果您有产生无效路径的风险,我建议您使用原始语法。当您定义了path
时,应该可以这样做:
d = {item: os.listdir(path + "/" + item + "/urls") for item in os.listdir(path)}
唯一的问题是在计算路径不存在时检查
FileNotFoundError
异常。因此,如果您冒着生成无效路径的风险,我建议您使用原始语法。您是否有可能编辑答案,以解释我5岁的样子?我想知道在概念上我不理解解决方案的语法的地方。完成了,希望它现在对你有意义。你有没有可能编辑答案来解释,就像我5岁一样?我想知道在概念上我不理解解决方案的语法的地方。完成了,希望它现在对您有意义。