您真正想要的是一个简单的任务,可以使用列表切片和列表理解来完成:

data = ['**','***','.param','+foo = bar','+foofoo = barbar','+foofoofoo = barbarbar',

'.model','+spam = eggs','+spamspam = eggseggs','+spamspamspam = eggseggseggs']

# First get the interesting positions.

param_tag_pos = data.index('.param')

model_tag_pos = data.index('.model')

# Get all elements between tags.

params = [param for param in data[param_tag_pos + 1: model_tag_pos] if param.startswith('+')]

models = [model for model in data[model_tag_pos + 1: -1] if model.startswith('+')]

print(params)

print(models)

输出量

>>> ['+foo = bar', '+foofoo = barbar', '+foofoofoo = barbarbar']

>>> ['+spam = eggs', '+spamspam = eggseggs']

回答评论:

假设您有一个包含从0到5的数字的列表.

l = [0, 1, 2, 3, 4, 5]

然后,使用列表slices可以选择l的子集:

another = l[2:5] # another is [2, 3, 4]

那就是我们在这里做什么:

data[param_tag_pos + 1: model_tag_pos]

对于最后一个问题:… python如何知道param是应该迭代的数据行,并且paramdo的第一个paramin param究竟是什么?

Python不知道,您必须告诉他.

第一个参数是我在这里使用的变量名,它的名称为x,list_items,无论您想要什么.

我将为您翻译代码行:

# Pythonian

params = [param for param in data[param_tag_pos + 1: model_tag_pos] if param.startswith('+')]

# English

params is a list of "things", for each "thing" we can see in the list `data`

from position `param_tag_pos + 1` to position `model_tag_pos`, just if that "thing" starts with the character '+'.

python符号表_根据第一个字符分割列表-Python相关推荐

  1. python中变量名字的第一个字符必须是_基础语法 - 小黑_9527 - 博客园

    一.标识符 所谓的标识符就是对变量.常量.函数.类等对象起的名字. 必须说明的是Python语言在任何场景都要严格区分大小写的. 命名规则 1.第一个字符必须是字母中的字母或下划线"_&qu ...

  2. python 去掉字符串第一个字符_10 个 Python 字符串处理技巧

    (给Python开发者加星标,提升Python技能) 来源:数据派THU 在探寻文本分析途径时却不知从何下手,该怎么办?那么可以通过这个字符串处理入门教程,来了解一下利用Python处理字符串的一些基 ...

  3. python 字符串拼接_面试官让用 3 种 python 方法实现字符串拼接 ?对不起我有8种……...

    点击上方 蓝字关注我们 点击上方"印象python",选择"星标"公众号重磅干货,第一时间送达!之前发过很多关于 Python 学习的文章,收到大家不少的好评, ...

  4. python函数编程实战_(转)函数式编程实战教程(Python版)

    许多函数式文章讲述的是组合,流水线和高阶函数这样的抽象函数式技术.本文不同,它展示了人们每天编写的命令式,非函数式代码示例,以及将这些示例转换为函数式风格. 文章的第一部分将一些短小的数据转换循环重写 ...

  5. Python全栈开发【第一篇】:初识Python

    Python简介 Python的前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本 ...

  6. python 去掉空格_怎样去掉 sentence 前面的空格 python

    怎样去掉sentence前面的空格python,就是怎么在python里去掉一句话前面的空格. 工具/原料 python 方法/步骤 1 打开JUPYTER NOTEBOOK,新建一个PY文档. 2 ...

  7. python分类汇总_数据分析番外篇13_利用Python实现分类汇总

    自己建立了一个数据分析兴趣小组群,在分享了一篇有关Python的介绍后,这两天大家的学习热情高涨,于是纷纷将自己的问题扔到群里诱使大家来解决,比如:如何代码实现去除文本里面的多余空格,如何将一个27万 ...

  8. python 建筑计算_制图小技巧:巧用Python和ELK瞬间完成总图建筑名称标注

    哎呦,又到了每周一次的制图教室啦.经过前面两次制图教程的分享,相信大家对于白模填色和写实渲染这两种表达方式肯定有了较好的掌握. 那么今天我们就转战制图技巧篇,和童鞋们聊一下总平面图中的建筑名称标注问题 ...

  9. 阿里云大学python教程下载_阿里大学开放 11 门免费 Python 视频课程

    Python 语言近几年越来越火,语言使用率占比节节攀升. 我们知道Python 现在稳居世界编程语言前三名,在 PYPL 语言流行指数上更是稳居第一,可见 python 的适用范围.受众基础.影响力 ...

最新文章

  1. 数据库系统DBS的特点
  2. Spring Boot 解决跨域问题的 3 种方案!
  3. 【自动化__持续集成】___java___static
  4. React如何使用 Ant Design(简单使用)
  5. openssh设置免密码登录远程服务器
  6. 最新翻译的官方PyTorch简易入门教程(PyTorch1.0版本)
  7. QT的QFileSelector类的使用
  8. linux下达梦数据库启动_linux 平台 达梦DM 7 数据库 启动与关闭
  9. 设置TextView为下划线的样式
  10. oracle11g数据文件路径,oracle11g trace路径和diagnostics路径的变化
  11. mysql 5.764_RHEL5.764位源码编译安装MySQL-5.5.42遇到的问题
  12. 雷军晒3亿估值,意欲“收编”台湾硬件创业者?
  13. jquery1.4 API 区别与更新中文版(beta)
  14. 带有审计表的实体框架核心(EF Core)
  15. 解决矩池云GPU显存未释放问题
  16. 简单将xml数据转换为txt数据
  17. 网络威胁情报git【全面】
  18. mysql没有data文件夹
  19. vivo S7e和华为nova8se 的区别 哪个好
  20. Strategy (策略)模式

热门文章

  1. VScode-Go can't load package: package .: no buildable Go source files in
  2. 【BZOJ 1095】 [ZJOI2007]Hide 捉迷藏 括号序列
  3. 移动端html头部meta标签的含义
  4. C++的构造函数总结
  5. 2013年最新最热播的电影 合集
  6. 每天学一点Flash(55) 认识类的结构
  7. Zabbix---2 监控主机CPU使用率
  8. Eclipse插件安装之,使用(已经下载的zip)安装包直接安装插件(例:glassfish 插件 plugin)
  9. java应用程序如何编译运作_开发Java应用程序的基本步骤是: 1 编写源文件, 2.编译源文件, 3.运行程序。_学小易找答案...
  10. ASP.NET Core 中间件Diagnostics使用 异常和错误信息