python - 如何对表示元组的字符串列表进行排序?

标签 python string list sorting tuples

我有一个代表元组的字符串列表,如下所示:

['(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)']

关于python - 如何对表示元组的字符串列表进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42652350/

相关文章:

python - 在 Django 中获取彼此相邻的两个对象

python - 属性错误 : '_process_plot_var_args' object has no attribute 'get_next_color'

c# - 我如何在 .NET 中替换口音(德语)

string - PostgreSQL : cast string to date DD/MM/YYYY

python - 具有非常小的值的 Numpy 数组运算精度

python - 当项目集等于 fill_value 时自动屏蔽 np.ma 数组

java - Android 编辑文本 : Check if whitespace not at beginning or end

python - 使用递归选择偶数

python - 如何计算 python 中列表的方差?

python - 获取Python列表的所有元素,包括子列表