如何解决打印声明中的冲销/排序
我正在尝试对印刷版list2
的输出进行排序。
list1 = [1,2,3]
list2 = [40,50,60]
list3 = list2 + list1 + list2.sort(reverse=True)
print(f"The new list is: {list3}")
我正在尝试使用仅使用list3
和list1
来构造新的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 举报,一经查实,本站将立刻删除。