微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

打印声明中的冲销/排序

如何解决打印声明中的冲销/排序

我正在尝试对印刷版list2输出进行排序。

list1 = [1,2,3]
list2 = [40,50,60]

list3 = list2 + list1 + list2.sort(reverse=True)       

print(f"The new list is: {list3}")

我正在尝试使用仅使用list3list1来构造新的list2的单个Python语句为list3创建代码,以便代码打印以下内容输出运行。

The new list is: [40,60,1,3,40]

但是,我收到一个错误TypeError: can only concatenate list (not "nonetype") to list

编辑:将list2.sort(reverse.True)更改为list2.sort(reverse=True)

解决方法

list3 = list2 + list1 + list2.sort(reverse.True)抛出Syntax Error-您可能是说:list3 = list2 + list1 + list2.sort(reverse = True)

[TIP]比list2.sort(reverse = True)更简单的方法是list2.reverse()

但是(list2.sort(reverse = True)list2.reverse())都是就地操作-它们不是列表对象,而只是更改列表的操作。

要能够对列表求和,必须添加列表对象,例如:list2[::-1]

list3 = list2 + list1 + list2[::-1]       
,

list2.sort(reverse.True)在原地对list2进行排序并返回None时,您无法将其连接到list2 + list1

list1 = [1,2,3]
list2 = [40,50,60]

list3 = list2 + list1 + sorted(list2,reverse=True)   

print(f"The new list is: {list3}")

使用sorted返回排序列表的工作

就地排序:

list1 = [2,3,1]
list1.sort()
print(list1)
>> [1,3]

异地排序:

list1 = [2,1]
result_list = sorted(list1)
print(list1)
>> [2,1]
print(result_list)
>> [1,3]

查看https://docs.python.org/3/howto/sorting.html,以获取更多信息。简单介绍。

,

尝试一下

list1 = [1,60]

list3 = list2.copy()
list3.sort(reverse=True)
list4 = list2 + list1 + list3

print(f"The new list is: {list4}")

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。