python如何嵌套列表

发布时间:2022-08-01 09:44:49 人气:142 作者:多测师

  python中的列表是可以嵌套的。将嵌套的list遍历并输出是很常见的需求。以下通过两种方法达到目的

  def nested_list(list_raw,result):

  for item in list_raw:

  if isinstance(item, list):

  nested_list(item,result)

  else:

  result.append(item)

  return result

  def flatten_list(nested):

  if isinstance(nested, list):

  for sublist in nested:

  for item in flatten_list(sublist):

  yield item

  else:

  yield nested

  def main():

  list_raw = ["a",["b","c",["d"]]]

python如何嵌套列表

  result = []

  print "nested_list is: ",nested_list(list_raw,result)

  print "flatten_list is: ",list(flatten_list(list_raw))

  main()

  运行,输出为:

  nested_list is: ['a', 'b', 'c', 'd']

  flatten_list is: ['a', 'b', 'c', 'd']

  nested_list方法采用递归的方式,如果item是list类型,继续递归调用自身。如果不是,将item加入结果列表中即可。

  flatten_list方法则是采用生成器的方式,本质上也是递归的思路。

  两层嵌套list去重

  list里面套了一层list,需要去重,并在生成一个去重的list。请看代码:

  def dup_remove_set(list_raw):

  result = set()

  for sublist in list_raw:

  item = set(sublist)

  result = result.union(item)

  return list(result)

  def main():

  list_dup = [[1,2,3],[1,2,4,5],[5,6,7]]

  print dup_remove_set(list_dup)

  运行

  [1, 2, 3, 4, 5, 6, 7]

  以上内容为大家介绍了python如何嵌套列表,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注多测师。https://www.e70w.com/xwzx/


返回列表
在线客服
联系方式

热线电话

17727591462

上班时间

周一到周五

二维码
线