Python 如何检查带有if语句的字典中是否存在键的名称?

Python 如何检查带有if语句的字典中是否存在键的名称?,python,Python,处理一个必须更新字典值的问题 例如,我有一个包含键值对的字典,如下所示: {(0,0):一些值,(5,0):一些值,(12,3):一些值,…} 我试图在for循环中使用if语句,该语句遍历键值对(0,0)、(5,0)、(12,3)等的“名称”,以查看字典中是否存在我要查找的“名称”。如果是,我想用一个不同的值替换该键的值 对于python来说有点陌生,所以如果这看起来令人困惑,或者如果有一个明显的解决方案,您知道为什么 d = {(0,0): "some value", (5

处理一个必须更新字典值的问题

例如,我有一个包含键值对的字典,如下所示:

{(0,0):一些值,(5,0):一些值,(12,3):一些值,…}

我试图在for循环中使用if语句,该语句遍历键值对(0,0)、(5,0)、(12,3)等的“名称”,以查看字典中是否存在我要查找的“名称”。如果是,我想用一个不同的值替换该键的值

对于python来说有点陌生,所以如果这看起来令人困惑,或者如果有一个明显的解决方案,您知道为什么

d = {(0,0): "some value", (5,0): "some value", (12,3): "some value", }

# change(5,0) to (50,0)

old = (5,0)
new = (50,0)

if old in d:
    d[new] = d[old]
    del d[old]
print(d)

PS:
dict
用于使用键查找值,这里它被错误地使用了

您可以测试键是否在字典中并替换为新值

def dict_replace(d, key, value):
    """Replace `key:value` only if key already in dictionary `d`"""
    if key in d:
        d[key] = value

以下内容不言自明。如果你有任何问题,请告诉我 代码:


我想这是可行的:

d = {(0,0): "some value", (5,0): "some value", (12,3): "some value", }

value_im_looking_for=12,3

replace_value=12,0

for x in d:
    if x == value_im_looking_for:
        d[replace_value]=d.pop(value_im_looking_for)
        break

print(d)


>>> d = {(0,0): "some value", (5,0): "some value", (12,0): "some value", }

.pop()方法删除它引用的键并返回连接到该键的值,然后我们可以将该值输入新键。

在字典上迭代实际上只是在键上迭代。所以

my_dict = {(0,0): some value, (5,0): some value, (12,3): some value}
for k in my_dict:
    print(k)
将所有按键((0,0)、(5,0)、(12,3))打印到控制台。但是,不需要自己迭代字典,因为您可以使用“in”关键字。所以

if val in my_dictionary:
    print("value exists in dictionary")

如果val是其中一个键,将打印它。

dicts的要点是,您不必迭代来进行键查找。假设字典是
d={(0,0):某个值,(5,0):某个值,(12,3):某个值,…}
,那么您可以在d:中检查
如果(0,0)就足够了。如果它存在,你会得到一个True或者False。但是我要做的是检查这个键是否存在于字典中,如果它存在,用一个不同的值替换这个键的值。这有意义吗?我发现,得到一个真值或假值对meNevermind没有任何作用。看来最终答案很明显。感谢您的帮助如果dict当前持有
srch\u键:0
if
测试为false,该值不会被替换。srch_键将是一个元组,而不是0。谦虚的请求-请重新阅读qnOP,其中没有提到“某些价值”是什么。你编了一些字符串。。。那么,如果字符串是
,该怎么办
dict1={(0,0):'}
然后
如果dict1.get((0,0)):打印(“找到”)
。请记住,
dict.get
返回找到的值,如果该值是任何虚假对象,如0、None、“,等等。。。此代码将错误地假定没有密钥srch_键是检查键是否在字典中的正常且正确的方法。我在最初的评论中非常明确。为什么投反对票?这是检查dict中是否存在密钥的正确方法。
my_dict = {(0,0): some value, (5,0): some value, (12,3): some value}
for k in my_dict:
    print(k)
if val in my_dictionary:
    print("value exists in dictionary")