Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >按顺序组合用正则表达式创建的三个列表- Python

按顺序组合用正则表达式创建的三个列表- Python
EN

Stack Overflow用户
提问于 2011-08-19 13:01:39
回答 1查看 199关注 0票数 0

我有一个文本文件,我正在阅读三个正则表达式。我希望将每个regex搜索中的每个项目逐行合并,并使用与下面最后一行相同的格式打印出来。我就是不能让循环把所有的东西都组合起来。

来自三个不同来源的示例文本(您可以看到信息有时丢失,而其他时候则以不同的格式呈现:

  1. 债券名称O/F C/F Cpn地铁FICO CAL WALB 1 1mCPR 60+ CE CWL 2004-6 2A5 0.95 0.09 L+39 4 49 200 4 28.62 47.69%
  2. Bond /F C/F FICO 60+ Notes提供CSMC 06-9 7A1 25.00 12.01 L+45 727 26 577 33.29 FLT,0.0% 50-00
  3. 型CUSIP债券名称报价结构PRIME 17312KAB8 CMSI 07-5 1A2 7/7 92.50 LCF

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import re

string = open("cusip.txt")
read_string = string.read()

cusip_reg_exp = re.compile('\s[0-9]{3}[a-zA-Z0-9]{6}\s')
cusip_result = cusip_reg_exp.findall(read_string)

bond_name_reg_exp = re.compile('\s[A-Z]{3,5}\s[0-9]{4}\D{1,3}\S{1,3}\s{1,2}\w{1,3}')
bond_name_result = bond_name_reg_exp.findall(read_string)

bond_price_name_reg_ex = re.compile('[$]{0,1}[0-9]{1,2}[-]{1}[0-9]{2}')
bond_price_result = bond_price_name_reg_ex.findall(read_string)

print(cusip_result[0],bond_name_result[0],bond_price_result[0])
EN

回答 1

Stack Overflow用户

发布于 2011-08-19 13:10:15

如果所有这些列表都具有相同的长度,则可以将每个对应条目(由空格分隔)连接起来,以创建组合字符串的列表,然后将这些字符串(由换行符分隔)连接起来,以创建显示的结果列表。我决定用一些列表理解的魔法来做这件事(循环不行!)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print '\n'.join([' '.join([cusip_item, bond_name_item, bond_price_item]) for (cusip_item, bond_name_item, bond_price_item) in zip(cusip_result, bond_name_result, bond_price_result)])

希望这能满足你的需要。如果没有,我相信这个问题还会有其他几种解释:)

编辑:我知道它有点长,但是你可以缩短变量名。或者(或者,另外),您可以在理解之前定义zip(cusip_result、bond_name_result、bond_price_result)。不过,我还是忍不住要做这些事,我喜欢热腾腾的蟒蛇一条线!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7127381

复制
相关文章
python 列表有没有顺序_python的list顺序详解
Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。
IT工作者
2022/08/04
1.3K0
LeetCode 1389. 按既定顺序创建目标数组
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/create-target-array-in-the-given-order 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
Michael阿明
2022/11/26
4220
LeetCode 1389. 按既定顺序创建目标数组
LeetCode 1389. 按既定顺序创建目标数组
目标数组 target 最初为空。 按从左到右的顺序依次读取 nums[i] 和 index[i],在 target 数组中的下标 index[i] 处插入值 nums[i] 。 重复上一步,直到在 nums 和 index 中都没有要读取的元素。 请你返回目标数组。
freesan44
2020/06/16
4620
LeetCode 1389. 按既定顺序创建目标数组
1389. 按既定顺序创建目标数组: https://leetcode-cn.com/problems/create-target-array-in-the-given-order/
村雨遥
2020/04/07
6420
Python创建数字列表
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 10 1 sum is : 55
py3study
2020/01/03
1.3K0
Python按顺序读取文件夹中文件
涉及到文件操作,我们有时候会读取一个文件夹中的所有的文件。这些文件可能是文件名完全混乱的,也可能是完全格式化的(如1.png,2.png...)。下面介绍Python中的几种按顺序(假如有)读取文件夹中文件的方法。
狼啸风云
2020/08/27
9.9K0
Python按顺序读取文件夹中文件
junit方法按顺序执行
选定版本,直接加注解
IT云清
2021/12/06
1.3K0
junit方法按顺序执行
sql按顺序去重
参考博客: https://blog.csdn.net/qtvb1987/article/details/42081585
周杰伦本人
2022/10/25
8450
sql按顺序去重
数组按指定顺序排序
数组排序可以直接使用 sort() 方法,可以对数组按规律排序。 但如果指定一个没有规律的顺序进行排序呢? 同样可以使用  sort() 方法: const data = [   { name: '张三', code: 'zs' },   { name: '王五', code: 'ww' },   { name: '赵七', code: 'zq' }, ]; data.sort((star, next) => {   const sortList = ['zq', 'zs', 'ww']   return 
德顺
2022/06/12
2.7K0
[LTE] CSG(Closed Subscriber Group)闭合用户组
CSG是3GPP R8中引入的概念,定义为闭合用户组。有以下特点: 每个CSG由一个CSG ID标识 同一用户可属于多个CSG,用户与CSG的关系就好比签约,启用了CSG小区只会允许签约用于接入 UE维护一张它所属CSG的CSG ID列表,在这个列表之外的其他CSG ID所对应的CSG小区对该UE而言是不可访问的。 每个CSG小区广播一个CSG ID,这个CSG ID所标识的闭合用户群的成员可以访问该小区 CSG模式需要终端和核心网的支持,在R8之前的终端和核心网都无法使用CSG功能。
轻舞飞扬SR
2021/02/24
1K0
python 按顺序读文件夹下面的文件
方法一: import os path="/home/test/" #待读取的文件夹 path_list=os.listdir(path) path_list.sort() #对读取的路径进行排
狼啸风云
2020/08/10
2.5K0
python 按顺序读文件夹下面的文件
python中按字母排序_在Python中按字母顺序排序文本文件的内容
我想在文件内部按字母顺序排序。我当前执行此操作的代码不起作用,文件保持不变。这个程序本身就是一个基本的调查问卷,用来实验读写文件。在import time
用户7886150
2021/01/27
4.9K0
【代码】Python多线程执行并且按原本顺序返回[详细注释]
简单记录一下,免得下次找不到,还得重写。 先看一下效果,然后直接上代码,并且每行都配注释。 # 导入线程池的包 from concurrent.futures import ThreadPoolExecutor, as_completed # 整个的任务函数,方便调用。也可以拆开写 def extract_append_audio_features(extract_type='age', max_workers=16): # feature_csv任务队列,可以理解为数组 data
小锋学长生活大爆炸
2023/03/01
1.9K0
【代码】Python多线程执行并且按原本顺序返回[详细注释]
列表:创建列表
列表是Tcl语言中最重要的一种数据结构。什么是列表?列表是元素的有序集合,各个元素可以包含任何字符串,例如空格,反斜杠,换行符等。列表表现为特定结构的字符串,这意味着可以把它们赋值给一个变量,可以把它们做为参数传给命令,可以把它们嵌套到其他列表中。
Lauren的FPGA
2019/10/30
2.4K0
实现线程按顺序输出ABC
线程按顺序输出ABC 实现描述:建立三个线程A、B、C,分别按照顺序输出十次ABC 首先建立一个方法,按照条件进行输出 class PrintABC{ private int index=0; public synchronized void print(int n) { // TODO Auto-generated method stub try { while(index!=n) { wait(); } if(index==0) { System.out.
呆呆
2021/10/06
7810
python中创建列表的方法_python中readlines
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/184390.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/27
3.8K0
使用Python按另一个列表对子列表进行分组
在 Python 中,我们可以使用各种方法按另一个列表对子列表进行分组,例如使用字典和使用 itertools.groupby() 函数,使用嵌套列表推导。在分析大型数据集和数据分类时,按另一个列表对子列表进行分组非常有用。它还用于文本分析和自然语言处理。在本文中,我们将探讨在 Python 中按另一个列表对子列表进行分组的不同方法,并了解它们的实现。
很酷的站长
2023/08/11
4530
使用Python按另一个列表对子列表进行分组
Python集合用处
一些集合的最基本操作,如集合取交集、取并集、取差集、判断一个集合是不是另一个集合子集或者父集等。
马修
2021/01/21
5650
使用 Python 创建使用 for 循环的元组列表
Python 的关键数据结构是列表和元组。元组元素一旦设置,就无法更改。这称为不可变性。但是列表元素可以在初始化后修改。在处理需要组合在一起的数据时,for 循环用于创建元组列表。列表比元组更具适应性,因为它们能够被修改。本教程演示如何使用 for 循环创建元组列表,从而简化重复性任务。
很酷的站长
2023/08/11
3830
使用 Python 创建使用 for 循环的元组列表
【说站】python列表的创建和存放
列表中可存放各种类型的要素,包括int、float等基本类型,也包括dict、str等标准类型。
很酷的站长
2022/11/23
1.1K0
【说站】python列表的创建和存放

相似问题

python熊猫按值创建列表组

10

按地形顺序创建资源组

12

用迭代工具按三个列表组成Python组

30

按特定顺序/顺序合并python列表

21

按数字顺序创建列表

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文