python如何嵌套列表
python中的列表是可以嵌套的。将嵌套的list遍历并输出是很常见的需求。以下通过两种方法达到目的
defnested_list(list_raw,result):
foriteminlist_raw:
ifisinstance(item,list):
nested_list(item,result)
else:
result.append(item)
returnresult
defflatten_list(nested):
ifisinstance(nested,list):
forsublistinnested:
foriteminflatten_list(sublist):
yielditem
else:
yieldnested
defmain():
list_raw=["a",["b","c",["d"]]]
result=[]
print"nested_listis:",nested_list(list_raw,result)
print"flatten_listis:",list(flatten_list(list_raw))
main()
运行,输出为:
nested_listis:['a','b','c','d']
flatten_listis:['a','b','c','d']
nested_list方法采用递归的方式,如果item是list类型,继续递归调用自身。如果不是,将item加入结果列表中即可。
flatten_list方法则是采用生成器的方式,本质上也是递归的思路。
两层嵌套list去重
list里面套了一层list,需要去重,并在生成一个去重的list。请看代码:
defdup_remove_set(list_raw):
result=set()
forsublistinlist_raw:
item=set(sublist)
result=result.union(item)
returnlist(result)
defmain():
list_dup=[[1,2,3],[1,2,4,5],[5,6,7]]
printdup_remove_set(list_dup)
运行
[1,2,3,4,5,6,7]
以上内容为大家介绍了python如何嵌套列表,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。
相关推荐HOT
更多>>python列表怎么写
首先,我们需要明确的一点就是Python是没有数组这一概念的,,但是Python中有一种比数组还要厉害的东西——列表,它的功能比数组更加强大。2、...详情>>
2023-11-13 22:28:49python如何定义变量
在python学习过程中会用到许多数据,那为了方便操作,需要把这些数据分别用一个简单的名字代表,方便在接下来的程序中引用。变量就是代表某个数...详情>>
2023-11-13 22:07:41python如何创建列表
列表是有序可变的元素集合,列表可以嵌套,即列表里面的元素可以是列表,此外列表中的元素数据类型可以不一致,列表的定义方式有三种,如下所示...详情>>
2023-11-13 21:47:34pythonPython是软件吗?
python并不是一款软件,而是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本...详情>>
2023-11-13 21:21:00