Skip to main content
 首页 » 编程设计

python之切片 Python 字符串

2025年05月04日27kerrycode

我目前正在尝试将特定字符串分割成多个部分,但总是遇到索引错误。

字符串是:

columnData = "001.001.000.100.000.000.000" 
 
myClassInstance = MyClass( 
    param1 = columnData[0:3],   
    param2  = columnData[4:3],  
    param3 = columnData[8:3],   
    param4  = 0,              
    param5 = columnData[12:3],  
    param6 = columnData[16:3],  
    param7 = columnData[20:3],  
    param8 = columnData[24:3]   

)

每当它尝试设置 param8 时,我都会遇到超出索引的错误。

然后我尝试将切片放入文件中以查看错误位置并尝试:

                        f = open("TestmyTset.txt","w") 
                        f.write(columnData) 
                        f.write("\nparam1: ") 
                        f.write(columnData[0:3]) 
                        f.write("\nparam2r: ") 
                        f.write(columnData[4:3]) 
                        f.close(); 

但是 param2 从未打印到文件中。

输出是:

001.001.000.100.000.000.000 
param1: 001 
param2:  

所以我的问题是我的错误在哪里,因为我一次又一次地尝试但没有找到它(实际上每个切片都应该是字符串的 . 分隔部分之一)。

根据要求,预期输出为:

param1 = "001" 
param2 = "001"  (the 2nd 001 in the original string) 
param3 = "000" 
param4 = "0" 
param5 = "100" 
.... 

请您参考如下方法:

我想你想做的是:

列数据[4:7] 列数据[8:11] 等等

我认为最好只是为了

split_column_data = columnData.split('.')

在字符串中的每个 . 处拆分字符串。并返回一个列表

>>>print split_column_data

['001', '001', '000', ... ]