【问题标题】:Check a list contains given elements检查列表是否包含给定元素
【发布时间】:2022-09-23 18:49:34
【问题描述】:

我想检查我的列表的前四个元素是否是数字。 我所做的如下:

myList = [\'0\', \'3\', \'2\', \'7\', \'O\', \'K\', \'P\']
if myList[0:4] in string.digits:
  print(\'okay\')
else:
  print(\'wrng\')

但这会产生以下错误。

TypeError: \'in <string>\' requires string as left operand, not list

我怎样才能做到这一点?

  • 将条件替换为if all(d in string.digits for d in myList[0:4]):
  • \'\'.join(myList[:4]).isnumeric()

标签: python string list


【解决方案1】:

错误告诉你你不能做some_list in some_string - 毕竟,列表由字符组成,而不是列表,所以它没有意义。你想检查是否全部列表中的字符在字符串中,因此:

if all(ch in string.digits for ch in myList[:4]):

0:4 中的 0 不是必需的,它是默认值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-31
    • 2017-11-20
    • 2014-04-30
    • 2016-05-12
    • 1970-01-01
    • 1970-01-01
    • 2018-11-17
    • 1970-01-01
    相关资源
    最近更新 更多