基本上我正在做的是建造一个具有属性" _containers"这是一个单独链接的容器对象列表。每个容器都有属性" _destination"这就是它的发展方向。
shipyard._containers列表必须按目的地按字母顺序排列。我知道除了比较两个目的地之外如何完成所有这些。
如何比较两个字符串并根据字母顺序确定哪一个字符串首先出现?我根本不允许使用任何python列表。
答案 0 :(得分:3)
当x
和y
是命名为字符串的Python对象的变量时,
x< ÿ
当且仅当True
在x
之前按字母顺序排列时,才为y
。
这可能与你的含义相匹配,也可能不符合“之前按字母顺序排列”。例如,所有大写字符在小写字母之前按字母顺序排列,因此如果x='Zebra'
和y='aardvark'
,则x < y
将为True
。要明确忽略大/小写区别,请使用
x.lower() < y.lower()
更一般地说,Unicode可以呈现几个这样的陷阱,其中按特定顺序的代码点不意味着它们必须按该顺序进行比较。对于Unicode排序算法的完全通用方法,您可以查看How do I sort unicode strings alphabetically in Python?中讨论的各种备选方案。
答案 1 :(得分:0)
containers = sorted(containers, key = lambda i: i.desitination)