将两个列表合并并排序



假设我有两个列表。我想将list2附加到list1中,然后在特定索引处排序并添加一个新元素。我一直收到一条错误消息,上面写着:

类型错误:'<'在"list"one_answers"int"的实例之间不支持

这就是我尝试过的:

list1 = [11, -21, 23, 45, 66, -93, -21]
list2 = [15, 67, -40, -21, 10]
list1.append(list2)
list1.insert(4, 50)
print(list1.sort())

不要使用append,使用extend。您正在添加第二个列表作为第一个列表上的元素

>>> list1 = [11, -21, 23, 45, 66, -93, -21]
>>> list2 = [15, 67, -40, -21, 10]
>>> list1.append(list2)
>>> list1
[11, -21, 23, 45, 66, -93, -21, [15, 67, -40, -21, 10]]

此外,sort不返回list。返回None

>>> list1 = [11, -21, 23, 45, 66, -93, -21]
>>> list2 = [15, 67, -40, -21, 10]
>>> list1.extend(list2)
>>> list1
[11, -21, 23, 45, 66, -93, -21, 15, 67, -40, -21, 10]
>>> list1.insert(4, 50)
>>> list1
[11, -21, 23, 45, 50, 66, -93, -21, 15, 67, -40, -21, 10]
>>> list1.sort()
>>> list1
[-93, -40, -21, -21, -21, 10, 11, 15, 23, 45, 50, 66, 67]
>>>

不要使用list1.append(list2),而是使用以下内容:list1=list1+list2
您也可以使用list1.extend(list2)

如果要打印排序列表,请使用sorted()

list1 = [11, -21, 23, 45, 66, -93, -21]
list2 = [15, 67, -40, -21, 10]
list1.insert(4, 50)
print(sorted(list1 + list2))
# [-93, -40, -21, -21, -21, 10, 11, 15, 23, 45, 50, 66, 67]

您可以使用+运算符组合两个列表:

my_list1 = [1, 2]
my_list2 = [3, 4]
combinedList = my_list1 + my_list2

要插入新元素,只需使用.insert(带索引和元素(

combinedList.insert(0, 0)

请记住,索引是基于0的!

最新更新