与您链接的另一个答案中的方法类似,我将指导您使用生成器来实现更通用的解决方案。在def split_list(wordlist, splitwords = {}):

out = []

worditer = iter(wordlist)

for word in worditer:

if word in splitwords: #potentially yield previous non-keyword list and build keyword list

if out: #yield non-keyword list

yield out

out = [word] #start new list with keyword

try:

for _ in range(splitwords[word]): #add *n* more words after keyword

out.append(next(worditer))

except StopIteration: #not enough items after keyword

pass

yield out #yield keyword list

out = [] #reset accumulator

else:

out.append(word) #grow non-keyword list

if out: #yield trailing non-keyword list

yield out

datalist = ["A","B", "N", "K" , "R", "Time", "2230" , "C" , "Date" , '12/05', "E" , "F", "R", "F", "K" ,"Place", "XXXXXX", "H", "I" , "J" ]

splitwords = {"Time": 1, "Date": 2, "Place": 1}

newlist = list(split_list(datalist, splitwords))

print(newlist)

python按条件拆分列表元素_Python按多个元素和条件拆分列表相关推荐

  1. python 无序列表中第k大元素_Python要求O(n)复杂度求无序列表中第K的大元素实例...

    昨天面试上来就是一个算法,平时基本的算法还行,结果变个法就不会了...感觉应该刷一波Leecode冷静下...今天抽空看下. 题目就是要求O(n)复杂度求无序列表中第K的大元素 如果没有复杂度的限制很 ...

  2. 可以获取python整数类型帮助的语句_Python入门第二课--数据类型、条件语句

    Python中整数和浮点数 Python支持对整数和浮点数直接进行四则混合运算,运算规则和数学上的四则运算规则完全一致. 使用括号可以提升优先级,这和数学运算完全一致,注意只能使用小括号,但是括号可以 ...

  3. python基础语法 第3关_Python基础语法 第3节课 (列表)

    [ ]列表 一.列表可以存放的内容 1.列表可以存放哪些类型? 列表是一个大仓库,百宝箱,所学过的所有类型,都可以放在列表里面. my_list = [1,2,3,(2,'polo'),6,'hell ...

  4. python列表修改元素_python list 中修改元素

    主要记录下这种用法:columnsList = [column.strip() for column in columnsList] 同样 采用此方式 可以做 replace 等类似的操作 ##在CS ...

  5. python变量词是什么意思_Python语言基本语法元素之变量,变量的含义及命名规则...

    教学是对知识的二次加工. 笔者希望给python初学者提供帮助.上一篇文章写了Python语言基本语法元素之格式框架:注释.缩进.续行符 这里继续,Python语言基本语法元素之变量. 我们来看看前4 ...

  6. python输出元组重复的元素_python – 从n个元素生成所有4元组对

    我希望在给定大小为n的数组的情况下生成所有可能的4元组对的列表. n至少为8,因此总能找到至少1对. 作为一个有助于理解问题的例子,我使用较小版本的问题,2元组对给出一个大小为5的数组.2元组对的预期 ...

  7. python 二维列表切片_Python中mutable与immutable和二维列表的初始化问题

    初始化一个shape为(3,3)的二维列表,正确的写法是这样的: 但是,如果写成这样: a = [[None] * 3] * 3print(a) # 输出 : [[None, None, None], ...

  8. python集合增加元素_python集合的新增元素方法整理

    我们可以把全体人数当作一个集合,想要往其中加入新人有不同的增加方式.可以一周增加一次,也可以集中到月底一起加入集体.我们今天所要讲的在python集合中,添加元素的两种方法就可以这样理解.一个是整体加 ...

  9. python里的集合add函数_python集合的新增元素方法整理

    我们可以把全体人数当作一个集合,想要往其中加入新人有不同的增加方式.可以一周增加一次,也可以集中到月底一起加入集体.我们今天所要讲的在python集合中,添加元素的两种方法就可以这样理解.一个是整体加 ...

最新文章

  1. c:线性表的链式表示
  2. 数据库SQL Server 2019安装向导的“功能选择”详细说明(微软官方资料)
  3. 【AI白身境】一文览尽计算机视觉研究方向
  4. 将SAP Cloud for Customer Customer视图的Account ID配置出来
  5. Linux 命令之 pwconv -- 开启用户的投影密码
  6. form中action属性后面?传递参数 获取不到
  7. Python3的迭代器
  8. linux wifi驱动rtl8188移植
  9. container-coding-codec
  10. FPGA实现cameralink解码
  11. 傻,是不值得同情和原谅的事情
  12. CVR预估论文阅读笔记:一次性解决三大难题
  13. optimizer.zero_grad()
  14. 【GDAL基础教程】多张二维tif数据转三维tif数据
  15. 湿度和温度对计算机设备的影响,简述环境温度的变化对机房设备的影响
  16. SDC_ETL融合数据产品白皮书
  17. 树莓派mjpg-streamer实现监控功能
  18. office english text 2
  19. echarts 仪表盘样式
  20. 高德地图-兴趣点(POI)

热门文章

  1. 如何挖掘大数据的价值
  2. 大数据分析对物联网发展有什么影响
  3. Java定时任务(一) Timer及TimerTask的案例解析及源码分析
  4. pip极速安装指定下载源
  5. 图像处理、分析与机器视觉(基于labview)_基于3D技术的机器视觉解决方案
  6. sql collection内容_非关系数据库复习|SQL到mongoDB查询语句转换
  7. int定义源码 python_Python代码保护 | pyc 混淆从入门到工具实现
  8. mysql解压rar至指定文件夹_PHP解压ZIP文件到指定文件夹的方法
  9. Spark内核解析之六:Spark 内存管理
  10. MapReduce过程详解