如何在python中比较也包含其他ascii符号如下划线的字符串?

问题描述 投票:0回答:1

我有一个字符串列表,在这个例子中是两个。

list = ["ACTVN_Cars", "ACT_CFR_AD"]

然后我试着用这段代码来检查这个列表是否按字母顺序排列。

test.verify(list[0].lower() <= list[1].lower())

然后我就遇到了一个错误. 为什么对其他字符串的测试有效,而对这个字符串的测试无效呢?

python compare ascii string-comparison alphabetical
1个回答
0
投票

似乎无法重现,你能分享一下你的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

回答你的另一个问题 最简单的 "测试 "方法是用... assert

assert list[0] > list[1] is True

关于_字符。

ord("_")
>>> 95
ord("a")
>>> 97
ord("A")
>>> 65

So: 
"A" < "_" < "a"
>> True

0
投票

list = ["ACTVN_Cars", "ACT_CFR_AD"]

if list[0]<list[1]:

print(list[1])

elif list[0]>list[1]:

print(list[0])

else: print("Strings are equal")

© www.soinside.com 2019 - 2024. All rights reserved.