原文: Adding to a Dict in Python – How to Add to a Dictionary
一个 Python 字典就像一个 JavaScript 对象——它是一个 key:value
对的序列。所以,你可以像这样创建它们:
stack_dict = {
"frontend": "JavaScript",
"backend": "Node JS",
"markup": "HTML and JSX",
}
要访问字典中的值,可以这样做:dict[key]
。例如,如果我想访问 frontend
键所持有的东西,我可以这样做:
print(stack_dict["frontend"])
# JavaScript
但是,如果你想在字典中添加另一个条目,而不需要回到字典中去把它放进去呢?这就是我们在这篇文章中要研究的问题。我将向你展示如何用三种不同的方法做到这一点。
我们将讨论的内容
- 如何给 Python 字典添加项目
- 如何通过映射键来给字典添加项目
- 如何使用
update()
方法给字典添加项目 - 如何使用
if
语句给字典添加项目 - 总结
如何给 Python 字典添加项目
你可以用三种不同的方式给字典添加项目:
- 映射一个字典的键
- 使用
update()
方法 - 使用
if
语句
如何在 Python 中通过映射键来给字典添加项目
如果你想用这个方法添加项目到一个字典中,你需要用赋值运算符添加值。
dict["key"] = "value"`
这也会覆盖一个现有键的值。
在我之前定义的堆栈字典中,没有样式:
stack_dict = {
"frontend": "JavaScript",
"backend": "Node JS",
"markup": "HTML and JSX",
}
因此,让我们通过映射一个新的键,为字典添加 styling
键 和 CSS
值:
stack_dict["styling"] = "CSS"
print(stack_dict)
# Output: {'frontend': 'JavaScript', 'backend': 'Node JS', 'markup': 'HTML and JSX', 'styling': 'CSS'}
你可以看到,一个新的键 styling
和一个值 CSS
已经被添加到字典中。
如果键已经存在,值会被覆盖:
stack_dict["markup"] = "HTML only"
print(stack_dict)
# {'frontend': 'JavaScript', 'backend': 'Node JS', 'markup': 'HTML only'}
如何使用 update() 方法给 Python 字典添加项目
栈中还缺少一个 JavaScript 库,所以让我们用 update()
方法来添加它。你可以这样做:
dict.update({"key": "value"})`.
所以,为了添加 JavaScript 框架/库,我是这样做的:
stack_dict.update({"JS Framework": "React/Next"})
print(stack_dict)
# {'frontend': 'JavaScript', 'backend': 'Node JS', 'markup': 'HTML and JSX', 'styling': 'CSS', 'JS Framework': 'React/Next'}
update()
也会覆盖一个现有的值:
stack_dict.update({"backend": "Django"})
print(stack_dict)
# {'frontend': 'JavaScript', 'backend': 'Django', 'markup': 'HTML and JSX'}
如何使用 if
语句给 Python 字典添加项目
如果你不希望一个项目被覆盖,即使它已经存在,你可以使用一个 if
语句,语法是这样的:
if "value" not it dict.keys():
dict["key"] = "value"
我想在堆栈字典中添加一个 “CSS Framework” 键,其值为 “Tailwind CSS”,所以我将借助这个语法来完成这个任务:
if "Tailwind CSS" not in stack_dict.keys():
stack_dict["CSS Framework"] = "Tailwind CSS"
print(stack_dict)
# {'frontend': 'JavaScript', 'backend': 'Node JS', 'markup': 'HTML and JSX', 'styling': 'CSS', 'JS Framework': 'React/Next', 'CSS Framework': 'Tailwind CSS'}
如果该项目已经在字典中,它就不会被添加进去:
if "HTML and JSX" not in stack_dict.keys():
stack_dict["markup"] = "HTML and JSX"
print(stack_dict)
# {'frontend': 'JavaScript', 'backend': 'Node JS', 'markup': 'HTML and JSX', 'styling': 'CSS', 'JS Framework': 'React/Next'}
如果你不喜欢用 if
语句来给字典添加项目,你可以用 try...except...
做同样的事情:
try:
stack_dict["Deployment"] = "Anywhere possible"
except:
print("An exception occurred")
print(stack_dict)
# {'frontend': 'JavaScript', 'backend': 'Node JS', 'markup': 'HTML and JSX', 'styling': 'CSS', 'JS Framework': 'React/Next', 'Deployment': 'Anywhere possible'}
总结
这篇文章带你了解了在 Python 中给字典添加项目的三种不同方法:
- 映射字典的键
- 使用
update()
方法 - 使用
if
语句
我们甚至研究了如何使用 try...except...
表达式给字典添加项目。
谢谢你阅读本文。