Skip to main content
 首页 » 编程设计

python之用python解析棘手的字符串

2025年05月04日40开发

我有一个这样的文本文件:

ID = 31 
Ne = 5122 
============ 
List of 104 four tuples: 
1    2    12    40 
2    3    4     21 
. 
. 
51   21   41    42    
 
ID = 34 
Ne = 5122 
============ 
List of 104 four tuples: 
3    2    12    40 
4    3    4     21 
. 
. 

四元组以制表符分隔。

对于每个 ID,我试图制作一个字典,其中 ID 是键,四元组(以列表/元组形式)作为该键的元素。

 dict = {31: (1,2,12,40),(2,3,4,21)....., 32:(3,2,12,40), (4,3,4,21).. 

我的字符串解析知识仅限于为 file.readlines() 添加引用对象,在 'ID = ' 上使用 str.replace() 和 str.split()。但必须有更好的方法。这是我所拥有的一些开端。

file = open('text.txt', 'r') 
fp = file.readlines() 
B = []; 
for x in fp: 
    x.replace('\t',',') 
    x.replace('\n',')') 
    B.append(x) 

请您参考如下方法:

像这样:

ll = [] 
for line in fp: 
    tt = tuple(int(x) for x in line.split()) 
    ll.append(tt) 

这将生成一个元组列表以分配给字典的键