Python面试题--第63道题目--递归生成器:将任意多维列表转化为一维列表--2022年04月18日

目录

一、题目要求:

二、实操代码演示:


一、题目要求:

请编写一个生成器,将任意多维列表转换为一维列表。

二、实操代码演示:

testlist = [1,2, [2,3,[3,4,[6,7]]],[23,78,[34,78,[90]]],1]
print(testlist)

def enumlist(testlist):
    try:
        for num in testlist:
            for n in enumlist(num):
                yield n
    except TypeError:
        yield testlist  # 迭代单个值

for sublist in enumlist(testlist):
    print(sublist,end= ' ')
print()
# 处理成一维的列表输出
sublist = list(enumlist(testlist))
print(sublist)

执行结果如下图:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值