如何比较 python 中还包含下划线等其他 ascii 符号的字符串?
How to compare strings in python that also contains other ascii symbols like underscores?
我有一个字符串列表,在此示例中将其设为两个:
list = ["ACTVN_Cars", "ACT_CFR_AD"]
然后我尝试使用以下代码检查列表是否按字母顺序排序:
test.verify(list[0].lower() <= list[1].lower())
然后我 运行 陷入了错误。为什么测试对其他字符串有效,但对这个字符串无效?
什么是测试列表的好方法?
似乎无法重现,能否分享一下您的 test.verify() 代码:
list = ["ATVN_Cars", "ACT_CFR_AD"]
list[0] < list[1]
>>> False
list[0] > list[1]
>>> True
list[0].lower() > list[1].lower()
>>> True
回答您的其他问题,"test" 最简单的方法是 assert
assert list[0] > list[1] is True
关于_字符:
ord("_")
>>> 95
ord("a")
>>> 97
ord("A")
>>> 65
So:
"A" < "_" < "a"
>> True
列表 = ["ACTVN_Cars", "ACT_CFR_AD"]
如果列表[0]<列表[1]:
print(list[1])
elif 列表[0]>列表[1]:
print(list[0])
其他:
打印("Strings are equal")
我有一个字符串列表,在此示例中将其设为两个:
list = ["ACTVN_Cars", "ACT_CFR_AD"]
然后我尝试使用以下代码检查列表是否按字母顺序排序:
test.verify(list[0].lower() <= list[1].lower())
然后我 运行 陷入了错误。为什么测试对其他字符串有效,但对这个字符串无效? 什么是测试列表的好方法?
似乎无法重现,能否分享一下您的 test.verify() 代码:
list = ["ATVN_Cars", "ACT_CFR_AD"]
list[0] < list[1]
>>> False
list[0] > list[1]
>>> True
list[0].lower() > list[1].lower()
>>> True
回答您的其他问题,"test" 最简单的方法是 assert
assert list[0] > list[1] is True
关于_字符:
ord("_")
>>> 95
ord("a")
>>> 97
ord("A")
>>> 65
So:
"A" < "_" < "a"
>> True
列表 = ["ACTVN_Cars", "ACT_CFR_AD"]
如果列表[0]<列表[1]:
print(list[1])
elif 列表[0]>列表[1]:
print(list[0])
其他: 打印("Strings are equal")