【问题标题】:How can I check if two lists are equal to one another on python如何在python上检查两个列表是否彼此相等
【发布时间】:2014-09-12 08:44:27
【问题描述】:

我正在开发一个密码破解游戏,其中给用户一个编码列表,用户必须猜测每个符号代表什么字母。当用户认为他已经用正确的字母替换了所有符号时,他/她会键入“check”。 我希望我的检查功能做的是将用户列表与具有正确答案的单独列表进行比较,但我一直不知道该怎么做。

【问题讨论】:

  • 嗯...你试过相等运算符吗? list1 == list2
  • 不,我对 python 很陌生,它到底做了什么,我将如何使用它
  • 这不是 python 特有的特性——它是一个通用的编程运算符,应该存在于大多数(如果不是全部)语言中。或许你应该回去浏览一些 python 教程以获得更好的基础。
  • 如果不了解基本的比较运算符,您绝对无法接近工作游戏。
  • 这里的一个问题是,显然您的用户将使用input()raw_input() 在代码中输入他们的尝试,这将返回string 而不是list,所以如果您这样做了list1 == users_list它不起作用,因为一个是列表,一个是字符串。您可以通过让用户按 1 个 1 输入他们的号码并将他们appending 到他们的列表中来解决这个问题,或者您可以更聪明一点。

标签: python list


【解决方案1】:

只需使用== 运算符,它会调用列表中的__eq__ 方法来检查元素是否相等:

>>> a = [1, 2, 3]
>>> b = [1, 2, 3]
>>> c = [1, 2, 3, 4]
>>> a == b
True
>>> a == c
False

【讨论】:

  • 请注意,如果d = [3, 2, 1]a == d 将为False。
  • @PM2Ring 当然,这些是不同的列表,它们是相等的集合。
  • 确实如此。抱歉,我的意思是将之前的评论指向 OP。
  • @PM2Ring 完全没问题 ;)
猜你喜欢
  • 2011-09-08
  • 2018-08-31
  • 1970-01-01
  • 2010-09-28
  • 1970-01-01
  • 2012-01-10
  • 1970-01-01
  • 1970-01-01
  • 2020-10-05
相关资源
最近更新 更多