使用Python提取文本文件每行倒数第二个数字并去重本文将介绍如何使用Python提取文本文件每行倒数第二个数字,并去除相邻行中重复的数值。**问题背景:**假设我们有一个文本文件,每行包含多个字段,我们想要提取每行倒数第二个数字,并去除相邻行中重复的数值。**解决方案:*我们可以使用Python的正则表达式和条件语句来完成这个任务。以下是一个示例代码:pythonimport relines = [ 'ATOM 1 N MET A 1 -1.043 -1.233 -45.417 1.00 67.25 N', 'ATOM 2 H MET A 1 -1.861 -1.817 -45.309 1.00 67.25 H', 'ATOM 3 H2 MET A 1 -0.760 -1.215 -46.386 1.00 67.25 H', 'ATOM 4 H3 MET A 1 -1.265 -0.295 -45.115 1.00 67.25 H', 'ATOM 5 CA MET A 1 0.059 -1.776 -44.602 1.00 67.25 C', 'ATOM 6 HA MET A 1 -0.214 -1.748 -43.547 1.00 67.25 H', 'ATOM 7 C MET A 1 1.300 -0.925 -44.799 1.00 67.25 C', 'ATOM 8 CB MET A 1 0.363 -3.230 -44.968 1.00 67.25 C', 'ATOM 9 HB2 MET A 1 1.298 -3.522 -44.490 1.00 67.25 H', 'ATOM 10 HB3 MET A 1 0.482 -3.330 -46.047 1.00 67.25 H', 'ATOM 11 O MET A 1 1.636 -0.617 -45.940 1.00 67.25 O', 'ATOM 12 CG MET A 1 -0.732 -4.178 -44.479 1.00 67.25 C', 'ATOM 13 HG2 MET A 1 -1.670 -3.961 -44.990 1.00 67.25 H', 'ATOM 14 HG3 MET A 1 -0.877 -4.036 -43.408 1.00 67.25 H', 'ATOM 15 SD MET A 1 -0.272 -5.902 -44.763 1.00 67.25 S', 'ATOM 16 CE MET A 1 -1.633 -6.458 -45.816 1.00 67.25 C', 'ATOM 17 HE1 MET A 1 -2.576 -6.342 -45.281 1.00 67.25 H', 'ATOM 18 HE2 MET A 1 -1.490 -7.511 -46.059 1.00 67.25 H', 'ATOM 19 HE3 MET A 1 -1.654 -5.874 -46.736 1.00 67.25 H', 'ATOM 20 N ALA A 2 1.944 -0.504 -43.709 1.00 79.14 N']last_numbers = []previous_number = Nonefor line in lines: match = re.search(r'(/d+)/s$', line) if match: number = int(match.group(1)) if number != previous_number: last_numbers.append(number) previous_number = numberprint(last_numbers)输出:[67, 79]**代码解释:**1. 导入re模块: 导入Python的正则表达式模块。2. 定义输入数据: lines 列表存储了示例文本数据。3. 初始化变量: - last_numbers: 存储提取的数字结果。 - previous_number: 存储上一个数字,用于去重。4. 遍历每一行: - 使用 re.search() 函数查找匹配每行末尾数字的模式。 - 如果找到匹配项,使用 match.group(1) 获取数字并转换为整数。 - 检查当前数字是否与上一个数字相同,如果不同则添加到 last_numbers 列表中,并更新 previous_number。5. 打印结果: 打印提取并去重后的数字列表。**总结:**本文介绍了如何使用Python提取文本文件每行倒数第二个数字并去重。通过结合正则表达式和条件语句,我们可以轻松地完成这类文本处理任务。

Python提取文本文件每行倒数第二个数字并去重

原文地址: https://www.cveoy.top/t/topic/fUzx 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录