Python中包含多个数据类型的排序列表

2024-10-02 18:28:03 发布

您现在位置:Python中文网/ 问答频道 /正文

如何在Python3.4中对包含多个数据类型的列表进行排序? 为了示例:- lixt=[“Tak”,“jil”,“son”,54,84] 文本排序()

错误: TypeError:“int”和“str”实例之间不支持“<;”

请帮我找到合适的解决办法


Tags: 实例文本lt示例列表排序错误int
2条回答

当您可以按项目的字符串表示进行排序时,可以使用sorted(your_list, key=str)处理简单的情况

l = ["Tak","jil","son",54,84]
sorted(l, key=str)

输出:[54, 84, 'Tak', 'jil', 'son']

sorted接受三个参数:iterable、key和reverse,即sorted(iterable, [key=None], [reverse=False])key参数允许您定义一个函数,可以调用该函数来比较iterable中项的值。以下是一些例子:

# notice the function name is supplied without brackets
sorted(["Eva", "eva", "string", "Aaron"], key=str.lower)

# the same result using lambda
sorted(["Eva", "eva", "string", "Aaron"], key=lambda x: x.lower())

# comparing by the second element in a tuple: (name, age)
name_ages = [("Eva", 12), ("Tom", 14), ("Gerald", 4)]
# output is [('Gerald', 4), ('Eva', 12), ('Tom', 14)]
sorted(name_ages, key=lambda x: x[1])  

通过使用lambdas或定义自己的函数,排序函数非常通用。你知道吗

NB:Use还可以使用list.sort()中的key参数

相关问题 更多 >