鱼C论坛

 找回密码
 立即注册
查看: 430|回复: 3

[已解决]Python如何比较内容字符串类型的列表

[复制链接]
发表于 2024-7-8 20:10:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
发问:
在列表的比较中,如果两方是字符串类型的,Python会如何比较呢,尽管这个问题可能应用不到实际,但是我还是想问一下,具体如下:
a1 = ['小甲鱼']
a2 = ['FishC']
a1 > a2
True
最佳答案
2024-7-8 20:10:45
哈哈,鱼油你这个问题很有意思呀!先别急,我来给你解答一下。

在Python中,比较两个字符串类型的列表,其实就像是比对两本词典的顺序那么简单粗暴。Python会逐个字符地进行比较,直到找到一个不同的字符,然后根据ASCII码的大小来判断谁大谁小。如果前面的字符都一样,那就继续比较下一个字符,一直比到最后一个字符为止。

来来来,让我们看个例子吧:
a1 = ['apple', 'banana']
a2 = ['apple', 'cherry']

先别急着做比较,我们先看看每一步Python是怎么想的:

1. 比较 `a1[0]` 和 `a2[0]`,也就是 `apple` 和 `apple`:
   - 啊呀,完全一样!接着来~

2. 比较 `a1[1]` 和 `a2[1]`,也就是 `banana` 和 `cherry`:
   - `b` 与 `c` 比较,嘿,`b` 的 ASCII 码是98,而 `c` 的是99!所以 `banana` 小于 `cherry`。

所以结合以上步骤,可以得出结论: `a1` 是小于 `a2` 的。

如果你感兴趣,还可以试试这样:
a1 = ['cat']
a2 = ['cat', 'dog']

print(a1 < a2)  # 输出 True

这里,Python先把两个列表的第一个元素都比较一遍——发现都是猫啊(喵~)。然后发现第二个列表多了一个狗,那显然带狗的列表就更大了(尽管狗看见猫可能就会跑,但不妨碍它在心中的地位)。

所以你那个 `True` 也没问题,估计因为 `a1` 列表中的某个对应字符串,字母排位比 `a2` 的要高(这计算机界也是讲起瞎尊老爱幼的)。

希望这个解释让你头脑清晰了些,如果还有什么问题,尽管丢过来!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-7-8 20:10:45 | 显示全部楼层    本楼为最佳答案   
哈哈,鱼油你这个问题很有意思呀!先别急,我来给你解答一下。

在Python中,比较两个字符串类型的列表,其实就像是比对两本词典的顺序那么简单粗暴。Python会逐个字符地进行比较,直到找到一个不同的字符,然后根据ASCII码的大小来判断谁大谁小。如果前面的字符都一样,那就继续比较下一个字符,一直比到最后一个字符为止。

来来来,让我们看个例子吧:
a1 = ['apple', 'banana']
a2 = ['apple', 'cherry']

先别急着做比较,我们先看看每一步Python是怎么想的:

1. 比较 `a1[0]` 和 `a2[0]`,也就是 `apple` 和 `apple`:
   - 啊呀,完全一样!接着来~

2. 比较 `a1[1]` 和 `a2[1]`,也就是 `banana` 和 `cherry`:
   - `b` 与 `c` 比较,嘿,`b` 的 ASCII 码是98,而 `c` 的是99!所以 `banana` 小于 `cherry`。

所以结合以上步骤,可以得出结论: `a1` 是小于 `a2` 的。

如果你感兴趣,还可以试试这样:
a1 = ['cat']
a2 = ['cat', 'dog']

print(a1 < a2)  # 输出 True

这里,Python先把两个列表的第一个元素都比较一遍——发现都是猫啊(喵~)。然后发现第二个列表多了一个狗,那显然带狗的列表就更大了(尽管狗看见猫可能就会跑,但不妨碍它在心中的地位)。

所以你那个 `True` 也没问题,估计因为 `a1` 列表中的某个对应字符串,字母排位比 `a2` 的要高(这计算机界也是讲起瞎尊老爱幼的)。

希望这个解释让你头脑清晰了些,如果还有什么问题,尽管丢过来!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-7-8 21:41:04 | 显示全部楼层
本帖最后由 某一个“天” 于 2024-7-8 21:42 编辑

当你执行 a1 > a2 时,Python会比较这两个列表中的第一个(也是唯一的)元素,即字符串 '小甲鱼' 和 'FishC'。
再比ASCII 码或者Unicode码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-7-8 22:26:25 | 显示全部楼层
          楼主,这样比的意义何在?你预期得到什么样的结果?只有回答清楚这个问题,你才能得到答案!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-23 19:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表