【问题标题】:Python Dictionary if clause [duplicate]Python字典if子句[重复]
【发布时间】:2021-10-03 11:23:17
【问题描述】:

如你所知,我最近才开始学习 python。

在练习时,我偶然发现了一个问题,对此我没有答案。

我的代码如下所示:

d = {"Groningen": "GRO", "Berlin": "BER", "Rotterdam": "RTD"}
if "Budapest" or "Saigon" in d:
    print("Budapest or Saigon are in the dictionary")
else: 
    print("Budapest or Saigon are not in the dictionary")

Python 现在会打印 if 子句,即使字典中没有“Budapest”或“Saigon”。

解决方案可能非常简单,但我自己无法弄清楚。 提前致谢!

【问题讨论】:

  • 这个答案能帮助你弄清楚吗? stackoverflow.com/questions/63987341/…如果不是,比较应该是:if "Budapest" in d or "Saigon" in d:
  • if "Budapest" or "Saigon" in d:if True or ("Saigon" in d): 相同
  • 由于字典键是类似集合的对象,您可以设置交集if {'Budapest', 'Saigon'} & d.keys():

标签: python if-statement


【解决方案1】:

这里的语法不正确,实际上条件将总是为真(因为“布达佩斯”是真的):

if "Budapest" or "Saigon" in d:

正确的写法是:

if "Budapest" in d or "Saigon" in d:

【讨论】:

    【解决方案2】:

    是因为你给的条件不正确,换成这样试试

    d = {"Groningen": "GRO", "Berlin": "BER", "Rotterdam": "RTD"}
    if "Budapest" in d or "Saigon" in d:
        print("Budapest or Saigon are in the dictionary")
    else: 
        print("Budapest or Saigon are not in the dictionary")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-06
      • 2013-04-02
      • 1970-01-01
      • 2021-11-15
      • 2013-04-05
      • 1970-01-01
      • 2020-06-14
      相关资源
      最近更新 更多