You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python 3中将列表元素逐个加入另一列表并生成降序嵌套列表?

用Python 3实现指定的列表操作需求

我有两个列表:

list_1 = [100,100,50,40,40,20,10]
list_2 = [5,25,50,120]

我需要将list_2中的每个元素依次加入list_1,将得到的新列表按降序排列,最终生成如下嵌套列表:

[[100,100,50,40,40,20,10,5],[100,100,50,40,40,25,20,10],[100,100,50,50,40,40,20,10],[120,100,100,50,40,40,20,10]]

请问如何用Python 3实现这一需求?

这事儿其实挺容易实现的,给你两种写法,你可以根据自己的习惯选:

方法一:直观的循环写法(适合新手理解)

核心思路就是遍历list_2里的每个元素,每次都基于原始的list_1创建新列表,添加元素后排序,最后把这些排序后的列表收集起来:

list_1 = [100,100,50,40,40,20,10]
list_2 = [5,25,50,120]

# 用来存放最终的嵌套列表
final_result = []

for num in list_2:
    # 复制原始list_1,避免修改原列表影响后续循环
    temp_list = list_1.copy()
    # 把当前元素加入临时列表
    temp_list.append(num)
    # 对临时列表做降序排序
    temp_list.sort(reverse=True)
    # 将排序后的列表加入结果
    final_result.append(temp_list)

print(final_result)

这里要注意,一定要用list_1.copy()而不是直接赋值temp_list = list_1,后者会让两个变量指向同一个列表,修改temp_list会直接改变原list_1,导致后面的循环结果出错。

方法二:简洁的列表推导式

如果你喜欢更紧凑的代码,用列表推导式一行就能搞定,逻辑和上面是一样的:

list_1 = [100,100,50,40,40,20,10]
list_2 = [5,25,50,120]

final_result = [sorted(list_1 + [num], reverse=True) for num in list_2]

print(final_result)

这里list_1 + [num]会生成一个包含原list_1所有元素和当前num的新列表,sorted()函数对这个新列表做降序排序,最后所有排序后的列表被自动收集成嵌套列表。

两种方法运行后都能得到你想要的结果,执行后打印的内容就是题目里给出的目标嵌套列表。

内容的提问来源于stack exchange,提问作者Mahir Islam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:20:57