python不等式编程_关于不等式:Python不等式运算符;

本问题已经有最佳答案,请猛点这里访问。

在使用不等式运算符比较列表时,无法理解python的行为。下面是使用python3命令行解释器的一个片段:

>>> [8] < [7]

False

>>> [8] < [9]

True

>>> [8, 6] < [9]

True

>>> [8, 6] < [9, 7]

True                    # So far so good

>>> [8, 6] < [9, 5]

True                    # Huh?

显然,python不只是在并行索引中移动。我确实找到了一些信息,说明在这个场景中,python按"字典顺序"排列列表,我猜这意味着按字母顺序排列。

所以,我认为列表可能会被排序,然后通过并行比较,但下面的例子证明了这一点:

>>> [1, 2, 3] < [3, 2, 1]

True

我的猜测是,内部比较将是[1,2,3]

感谢您的帮助。

在字母表"86"

python所做的是,并行地遍历列表并比较相同索引的元素。当它第一次遇到不相等的元素时,它返回这个结果。

它与比较单词相同:

"Peter">"Peer"

前两个字母是相同的,第三个字母是不同的,给出了结果。这与纸质字典中使用的方法(对于列表)相同,只是使用列表元素而不是字符。

其他信息:(正如Padraic Cunningham所建议的):当一个列表较短,并且所有元素都达到较短列表的大小时,较长的列表被认为更大。这与普通(纸质)词典中的情况相同。

或者,如果所有元素都等于较短列表的长度,则较长的列表被认为更大

谢谢,添加了这个信息

clearly Python isn't just moving through parallel indexes

是的,它在第一次发现不相等的值时停止。这确实是词典编纂的顺序。用字母替换示例中的数字,用字符串替换列表:

"h"

"h"

"hf"

"hf"

"hf"

"abc"

这其实很有道理。

比较的过程与按词典编纂顺序对单词排序的过程相似。毕竟,单词也是列表:字符列表。

你首先考虑第一项。如果一个更小,整个序列就更小,如果它们相等,就转到第二个项目,等等。

显然,"86"在"95"之前,正如"az"在"bc"之前,"100"在"90"之前一样。

更多信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值