【问题标题】:How does comparison operator affect the outcome on dictionaries? Python 3.8比较运算符如何影响字典的结果?蟒蛇 3.8
【发布时间】:2021-05-27 13:28:03
【问题描述】:

我的情况与我所看到的略有不同,因此我请求一些帮助以理解。

我正在做一个问题,我需要检查列表中的某些字符是否在字符串中。 我仍在学习过程中,所以我想为了能够解释任何列表和任何 字符串输入,我应该将它们转换为具有相同值的字典并比较两者,因为我认为它会更容易。我在比较部分最后被卡住了,但是当我将字典的键与

string = 'trleba' 
listofchar = ['a', 'b', 'e', 'l', 'r', 't']

def isItInIt(string, listofchar):

    letters = {}
    stringtoletter = {}

    for c in listofchar:
        if c not in letters:
            letters[c] = 1
        else:
            letters[c] += 1

    for e in list(string):
        if e not in stringtoletter:
            stringtoletter[e] = 1
        else:
            stringtoletter[e] += 1

    if stringtoletter.keys() <= letters.keys():
        return True
    else:
        return False

print(isItInIt(string, listofchar))

如果其中可能有错误,我很抱歉,我不得不更改一些变量名。 我的问题基本上是,

【问题讨论】:

    标签: python function dictionary operators


    【解决方案1】:

    对于集合(以及类似于集合的对象,如.keys() 的结果),&lt;= 运算符表示“子集或等于”;数学符号是:⊆

    其他比较 &lt;&gt;=&gt; 类似地映射到 ⊂、⊇ 和 ⊃ 的集合。

    设置文档:https://docs.python.org/3/library/stdtypes.html#frozenset.issubset dict.keys() 的文档:https://docs.python.org/3/library/stdtypes.html#dictionary-view-objects(以“Key views are set-like”开头的段落)

    【讨论】:

    • 非常感谢!
    【解决方案2】:

    dict.keys() 返回Dictionary view objects,它是类似集合的对象。 issubset set 方法。

    【讨论】:

      猜你喜欢
      • 2021-11-07
      • 2019-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-05
      • 1970-01-01
      • 2020-03-17
      相关资源
      最近更新 更多