递归python首尾相同的子字符串_推荐Python语言多层嵌套list的递归处理方法
本文主要向大家介绍了Python语言多层嵌套list的递归处理方法,希望对大家学习Python语言有所帮助。
问题:用Python处理一个多层嵌套list['and', 'B', ['not', 'A'],[1,2,1,[2,1],[1,1,[2,2,1]]], ['not', 'A', 'A'],['or', 'A', 'B' ,'A'] , 'B']
需求1)如何展开成一层
需求2)如何删除重复的元素 包括重复的list, 要考虑子list的重复元素删除后造成的子list重复
#!/usr/bin/env python
# -*- coding: utf-8 -*-
def unilist(ll):
"""
功能:用递归方法删除多层列表中重复元素
"""
result = []
for i in ll:
if isinstance(i, list):
if unilist(i) not in result:
result.append(unilist(i))
else:
if i not in result:
result.append(i)
return result
def flatten(ll):
"""
功能:用递归方法展开多层列表,以生成器方式输出
"""
if isinstance(ll, list):
for i in ll:
for element in flatten(i):
yield element
else:
yield ll
testcase= ['and', 'B', ['not', 'A'],[1,2,1,[2,1],[1,1,[2,2,1]]], ['not', 'A', 'A'],['or', 'A', 'B' ,'A'] , 'B']
print unilist(testcase)
print list(flatten(testcase))
运行结果
['and', 'B', ['not', 'A'], [1, 2, [2, 1], [1, [2, 1]]], ['or', 'A', 'B']]
['and', 'B', 'not', 'A', 1, 2, 1, 2, 1, 1, 1, 2, 2, 1, 'not', 'A', 'A', 'or', 'A', 'B', 'A', 'B']
以上这篇Python多层嵌套list的递归处理方法(推荐)就是小编分享给大家的全部内容了,本文由职坐标整理并发布,了解更多内容,请关注职坐标编程语言Python频道!
递归python首尾相同的子字符串_推荐Python语言多层嵌套list的递归处理方法相关推荐
- python找最长的字符串_为Python找到最长重复字符串的有效方法(从Pearls编程)
我的解决方案是基于后缀数组.它是由最长公共前缀的两倍前缀构成的.最坏情况下的复杂度是O(n(logn)^2).任务"伊利亚特.mb.txt"在我的笔记本上花了4秒钟.代码在函数su ...
- python将txt文件转为字符串_使用Python将复数转换为文本文件中的单数
我们可以更改它,以便我们将输入文件作为一个行列表读取 我们可以使用大字符串并将其分解为列表. 我们可以一次一个地检查一行中的每一行. 醇> 为了方便起见,让我们滚动#1.这将需要将openfil ...
- python代码大全心形盒子简单_一行Python代码画心型
一行Python代码画心型 1.画I组成的心型代码: print('\n'.join([''.join([('I'[(x-y) % len('I')]if ((x*0.05)**2+(y*0.1)** ...
- python中复制n次字符串_在Python中查找字符串中多次出现的字符串
精慕HU 使用正则表达式,您可以使用re.finditer查找所有(非重叠)出现的事件:>>> import re>>> text = 'Allowed Hello ...
- python中不可以用来表示字符串_在Python中,不可以用来表示字符串的符号是____________。...
[单选题]患者女, 40 岁,开放性肺结核,咳嗽.咳痰 2 周入院.作为隔离病区的护士在护理该患者时,要掌握正确的隔离区域划分和方法是 [单选题]下列关于梦游症的叙述不正确的是() [单选题]下列哪种 ...
- python 求子字符串_(6)KMP算法(求子串的位置)______字符串的匹配
问题: 已知字符串 B 是字符串 A 的一个子串,问字符串 B 在字符串 A 的第一次出现位置. 暴力方法:从 A 字符串 的每个位置开始对字符串 B 进行匹配. 这种方法根据数据的不同 复杂度不同最 ...
- python字符串_(Python基础教程之七)Python字符串操作
Python基础教程 在SublimeEditor中配置Python环境 Python代码中添加注释 Python中的变量的使用 Python中的数据类型 Python中的关键字 Python字符串操 ...
- python希腊字母字符串_#10 Python字符串
前言 通过上一节可知,Python6个序列的内置类型中,最常见的是列表和元组,但在Python中,最常用的数据类型却不是列表和元组,而是字符串.要想深入了解字符串,必须先掌握字符编码问题.因此本篇博文 ...
- 检查数组中的子字符串– Java,Python和Swift
In this quick tutorial, we'll learn how to quickly search a part of a string in an Array. We'll be d ...
最新文章
- Apache与nginx的优缺点对比
- LINUX使用tcgetattr函数与tcsetattr函数控制终端二
- 关于idea右侧的maven project 如何调出来
- 为开源做贡献,我们要做一次最具挑战的尝试!
- Linux chapter 8
- Hadoop与Hbase 安装下载
- infer的用法_infer的用法总结大全
- 四川全国计算机一级考试查询系统,2013四川计算机一级成绩查询入口
- win7添加一个计算机图标,Win7系统任务栏添加计算机图标的步骤图解
- 鸡啄米VS2010/MFC教程
- 淘宝吱口令效果实现,获取系统剪贴板内容
- ac.find_template 踩坑,寻找相似图片,安卓自动化代码
- 【论文阅读笔记】Simple and Lightweight Human Pose Estimation
- 处理工具提示的TTN_NEEDTEXT通知
- 学习TypeScrip1(基础类型)
- 反射一、反射的基本概念
- 模块-E18-D80NK红外避障传感器
- 【WCN685X】WCN6856 5G吞吐量测试只有25Mbps问题原因分析及解决方案
- [BUUCTF-pwn] hackcon2018_elegent
- C++ 写的地图控件,支持google 百度 在线离线地图