Skip to main content
 首页 » 编程设计

python之在 python3 中加入字符串列表的第一个元素

2025年05月04日43Leo_wl

考虑以下代表制表符分隔的 txt 文件中一行的字符串:

line = 'pf\t2\t0\t9\t0\t9\t9\n' 

我想使用下划线连接该字符串的前两个元素,然后将该行写回文件。我正在使用以下简单脚本来执行此操作:

newLabel = '_'.join(line.split('\t')[:2]) 
newLine = line.split('\t') 
newLine[:2] = newLabel 

我期望的是以下内容:

['pf_2', '0', '9', '0', '9', '9\n'] 

相反,我得到:

['p', 'f', '_', '2', '0', '9', '0', '9', '9\n'] 

也许我在这里遗漏了一些明显的东西,但为什么 python 再次拆分连接的字符串?实现我想要的最好方法是什么? 谢谢!

请您参考如下方法:

您可能正在寻找稍微不同的赋值语句:

newLine[:2] = [newLabel] 

切片分配只需要在右侧有一个可迭代对象。由于 newLabel 是一个字符串,是 一个可迭代对象,因此切片赋值会愉快地进行并对其进行迭代,添加这些元素来代替 newLine[:2]。

您也可以考虑这个快捷方式:

>>> line.replace('\t', '_', 1) 
'pf_2\t0\t9\t0\t9\t9\n' 

使用 str.replace 的第三个参数指定要替换的出现次数。