程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了使用 for 循环将键和值添加到空字典大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决使用 for 循环将键和值添加到空字典?

开发过程中遇到使用 for 循环将键和值添加到空字典的问题如何解决?下面主要结合日常开发的经验,给出你关于使用 for 循环将键和值添加到空字典的解决方法建议,希望对你解决使用 for 循环将键和值添加到空字典有所启发或帮助;

我目前有 3 个列表和一个空字典:

Dict = {}

name = ['Bob','Amy','Jack']
gender = ['Male','Female','Male']
car = ['kia','ford','audi']
country = ['UK','US','Australia']

我可以使用 for 循环来创建字典条目吗?所以理想情况下我会得到:

Dict = {'Bob': {'gender':'Male','car':'kia','country':'UK'},'Amy': {'gender':'Female','car':'ford','country':'US'},'Jack': {'gender':'Male','car':'audi','country':'Australia'}}

解决方法

您可以使用 zipDict comprehension

awk '
    /^WORD1/ {
        match($0,/[ ]0x[^ ]+/)
        if (RLENGTH > -1)
            print substr ($0,RSTART+1,RLENGTH)
    }
' file
0xksjdflksjflksjf
0xksjdflksjflks

输出:

name = ['Bob','Amy','Jack']
gender = ['Male','Female','Male']
car = ['kia','ford','audi']
country = ['UK','US','Australia']

db = {name: Dict(zip(['gender','car','country'],rest)) 
            for name,*rest 
            in zip(name,gender,car,country)
     }
print(db)

解压后的样子:

{'Bob': {'gender': 'Male','car': 'kia','country': 'UK'},'Amy': {'gender': 'Female','car': 'ford','country': 'US'},'Jack': {'gender': 'Male','car': 'audi','country': 'Australia'}}

如果我们看到 for data in zip(name,country): n,g,ca,co = data db[n] = { 'gender' : g,'car' : ca,'country': co } 返回的内容:

zip

现在,我们可以解包这些元组(参见iterable unpacking

>>> for data in zip(name,country):
        print(data)

('Bob','Male','kia','UK')
('Amy','US')
('Jack','audi','Australia')

现在,让我们来看看如何通过调用 Dict 来制作 Dict:

>>> n,co = ('Bob','UK')
>>> n
'Bob'
>>> g
'Male'
>>> ca
'kia'
>>> co
'UK'

# Or we can take the name separately (as shown in Dict comprehension):
>>> name,*rest = ('Bob','UK')
>>> name
'Bob'
>>> rest
['Male','UK']
,

使用 zipDictionary comprehension:


dct = {n: {'gender': g,'car': k,'country': c}
       for n,k,c in zip(name,country)}

作为旁注,避免使用 Python 中的内置名称命名变量,例如 Dict(我使用的是 dct,但更好的名称可能是 people 或者,甚至更好的是,您可以想到适合您实际用例的东西)。

大佬总结

以上是大佬教程为你收集整理的使用 for 循环将键和值添加到空字典全部内容,希望文章能够帮你解决使用 for 循环将键和值添加到空字典所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:for使用