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

如何实现OddEvenList函数将嵌套列表奇偶元素分组为嵌套列表?

嵌套列表奇偶元素分组问题

需要实现名为OddEvenList(nList)的函数,将预定义嵌套列表nList中的奇偶元素分别存入oddList和evenList两个嵌套列表。目前已能分离奇偶元素,但无法生成嵌套结构。

预期输入输出

预定义列表:

nList = [[2,5,99,99], [-3,8,1,2,10], [1, 7,100,10]]

预期输出:

oddList = [[2], [8, 2, 10], [100, 10]]
evenList = [[5, 99, 99], [-3, 1], [1, 7]]

当前代码及输出

我能分离奇偶元素,但不知道如何整理为嵌套结构,当前代码如下:

nList = [[2,5,99,99], [-3,8,1,2,10], [1, 7,100,10]]
evi_lis = []
odd_lis = []
for i in nList: #[2,5,99,99]
    for m in i:  #2
        if (m%2==0):
            evi_lis.append(m)
        else:
            odd_lis.append(m)
print(evi_lis)
print(odd_lis)

当前输出:

[2, 8, 2, 10, 100, 10]
[5, 99, 99, -3, 1, 1, 7]

解决方案

要生成嵌套结构,需在遍历每个子列表时,为奇偶列表分别创建对应的子列表,处理完当前子列表后再将该子列表加入总列表,而非直接将元素追加到一维列表中。修改后的实现代码如下:

def OddEvenList(nList):
    evenList = []
    oddList = []
    for sublist in nList:
        current_even = []
        current_odd = []
        for num in sublist:
            if num % 2 == 0:
                current_even.append(num)
            else:
                current_odd.append(num)
        evenList.append(current_even)
        oddList.append(current_odd)
    return oddList, evenList

# 测试
nList = [[2,5,99,99], [-3,8,1,2,10], [1, 7,100,10]]
oddList, evenList = OddEvenList(nList)
print(f"oddList = {oddList}")
print(f"evenList = {evenList}")

运行输出与预期一致:

oddList = [[2], [8, 2, 10], [100, 10]]
evenList = [[5, 99, 99], [-3, 1], [1, 7]]

内容的提问来源于stack exchange,提问作者Richard Coterie

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 13:16:15