【问题标题】:Understanding set comparison了解集合比较
【发布时间】:2017-08-04 22:18:40
【问题描述】:

所以,我的问题是理解列表之间的比较。

我有一个作业要比较某个字符串是否包含字母表中的所有字母,所以我这样做了:

import string


def ispangram(str):

  letters = ''.join(str.split()).lower()
  unique_letters = set(letters)
  sorted_list = list(sorted(unique_letters))
  str_alphabet = ''.join(sorted_list)

  alphabet = string.ascii_lowercase

  if str_alphabet == alphabet:
      print(True)
  else:
      print(False)


ispangram("The quick brown fox jumps over the lazy dog")

好的,我得到了 True,没关系。但另一种答案是:

import string


def ispangram(str):
  alphabet = string.ascii_lowercase
  alphaset = set(alphabet)

  return alphaset <= set(str.lower()):


ispangram("The quick brown fox jumps over the lazy dog")

所以我无法理解这个“

希望有人能帮助我,非常感谢!

【问题讨论】:

    标签: python comparison comparison-operators


    【解决方案1】:

    集合的运算符&lt;= 检查LHS 上的操作数是否是RHS 上的操作数的子集。

    更详细:

    alphaset.issubset(my_str.lower()) # issubset takes any iterable
    

    附带说明,请注意不要使用 str 作为名称,以免使内置的 str 在您的函数中无法使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多