我有一个代表元组的字符串列表,像这样:
['(q2,0)', '(q3,0)', '(q0,0)', '(q1,0)', '(q4,0)']
是否有任何方法可以通过访问每个q之后的数字来对其进行排序,因此列表如下所示:
[ '(q0,0)', '(q1,0)', '(q2,0)', '(q3,0)', '(q4,0)']
如果这些是整数,那将很容易,但是我需要保持字符串格式不变,因为它们现在是…
解决方法:
您可以根据定义的键进行排序:
def my_key(value):
return int(value.strip('()').split(',')[0][1:])
用法:
>>> values = ['(q2,0)', '(q3,0)', '(q0,0)', '(q1,0)', '(q4,0)']
>>> values.sort(key=my_key)
['(q0,0)', '(q1,0)', '(q2,0)', '(q3,0)', '(q4,0)']