Python 返回生成器字典是最有效的方法
我写过这个函数,它可以返回一个字典,我认为无论是通过itertools还是仅仅使用yeild,我都可以返回字典,但对于字典,我从来没有这样做过 如何使此函数不必像configDb那样调用,而只需configDb[key]就可以为我提供值?无法生成字典,但可以生成键值元组Python 返回生成器字典是最有效的方法,python,dictionary,itertools,robustness,Python,Dictionary,Itertools,Robustness,我写过这个函数,它可以返回一个字典,我认为无论是通过itertools还是仅仅使用yeild,我都可以返回字典,但对于字典,我从来没有这样做过 如何使此函数不必像configDb那样调用,而只需configDb[key]就可以为我提供值?无法生成字典,但可以生成键值元组 部分配置文件几乎没有用处,因此在生成的字典中似乎没有什么意义 def configDb(): """ Reads git global config file Returns:
部分配置文件几乎没有用处,因此在生成的字典中似乎没有什么意义
def configDb():
""" Reads git global config file
Returns:
config(dict): git config settings
"""
# Read git config file
configFile, _ = execGitCommand('git config --list')
rows = (line.split("=") for line in configFile.splitlines())
return dict(row for row in rows if len(row)==2)
字典生成器的作用是什么?在加载所有项目之前,词典不可用;只需返回一条命令。我想我必须坚持我当前的实现。是的,我不会责怪你:
def configDb():
""" Reads git global config file
Returns:
config(dict): git config settings
"""
# Read git config file
configFile, _ = execGitCommand('git config --list')
config = {}
for line in (each for each in configFile.split("\n") if each):
yield line.split("=")[0], line.split("=")[-1]
def configDb():
""" Reads git global config file
Returns:
config(dict): git config settings
"""
# Read git config file
configFile, _ = execGitCommand('git config --list')
rows = (line.split("=") for line in configFile.splitlines())
return dict(row for row in rows if len(row)==2)