鱼C论坛

 找回密码
 立即注册
查看: 2087|回复: 4

[已解决]元组比较

[复制链接]
发表于 2020-12-9 20:06:12 | 显示全部楼层 |阅读模式

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

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

x
>>> temp1 = ('水逆','快乐','爱情')
>>> temp2 = ('哟欧青','辣子','玫瑰','眼里','扶苏')
>>> temp3 = temp1 + temp2
>>> temp3
('水逆', '快乐', '爱情', '哟欧青', '辣子', '玫瑰', '眼里', '扶苏')
>>> temp2<temp3
True
>>> temp1>temp2
True
>>> temp3<temp2
False


求助各路大神,为何 temp2<temp3为
True,而temp1>temp2也是
True?元组之间的比较遵循什么规则?
最佳答案
2020-12-9 20:11:52
参考:https://blog.csdn.net/maizouside ... 1018.2118.3001.4449


补充:字符串的大小比较一次比较各个字符的编码大小(中文字符比较特殊)。参考https://blog.csdn.net/weixin_379 ... 1018.2118.3001.4449
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-9 20:11:52 | 显示全部楼层    本楼为最佳答案   
参考:https://blog.csdn.net/maizouside ... 1018.2118.3001.4449


补充:字符串的大小比较一次比较各个字符的编码大小(中文字符比较特殊)。参考https://blog.csdn.net/weixin_379 ... 1018.2118.3001.4449
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-9 23:02:42 | 显示全部楼层
1、查阅文档
https://fishc.com.cn/forum.php?m ... peid%26typeid%3D403
__lt__(self, other)        定义小于号的行为:x < y 调用 x.__lt__(y)
__gt__(self, other)        定义大于号的行为:x > y 调用 x.__gt__(y)
2、查看帮助文档
>>> help(tuple)  # 可以发现,元祖也是有上述的比较运算符方法的

具体怎么定义的呢?以下是源代码,有兴趣可以去看看(貌似并没有什么卵用)
class tuple(Sequence[_T_co], Generic[_T_co]):
    def __new__(cls: Type[_T], iterable: Iterable[_T_co] = ...) -> _T: ...
    def __init__(self, iterable: Iterable[_T_co] = ...): ...
    def __len__(self) -> int: ...
    def __contains__(self, x: object) -> bool: ...
    @overload
    def __getitem__(self, x: int) -> _T_co: ...
    @overload
    def __getitem__(self, x: slice) -> Tuple[_T_co, ...]: ...
    def __iter__(self) -> Iterator[_T_co]: ...
    def __lt__(self, x: Tuple[_T_co, ...]) -> bool: ...
    def __le__(self, x: Tuple[_T_co, ...]) -> bool: ...
    def __gt__(self, x: Tuple[_T_co, ...]) -> bool: ...
    def __ge__(self, x: Tuple[_T_co, ...]) -> bool: ...
    @overload
    def __add__(self, x: Tuple[_T_co, ...]) -> Tuple[_T_co, ...]: ...
    @overload
    def __add__(self, x: Tuple[Any, ...]) -> Tuple[Any, ...]: ...
    def __mul__(self, n: int) -> Tuple[_T_co, ...]: ...
    def __rmul__(self, n: int) -> Tuple[_T_co, ...]: ...
    def count(self, x: Any) -> int: ...
    if sys.version_info >= (3, 5):
        def index(self, x: Any, start: int = ..., end: int = ...) -> int: ...
    else:
        def index(self, x: Any) -> int: ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-10 23:07:11 | 显示全部楼层
昨非 发表于 2020-12-9 20:11
参考:https://blog.csdn.net/maizousidemao/article/details/106323920?ops_request_misc=%257B%2522reque ...

谢谢大佬,我好好消化一下。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-10 23:10:48 | 显示全部楼层
dylan-oo 发表于 2020-12-10 23:07
谢谢大佬,我好好消化一下。

主要看怎么用了,
一般字符串比较英文比较多
中文字符大小比较确实少见

理解了记得给个最佳答案哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-17 03:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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