【发布时间】:2021-05-03 23:39:08
【问题描述】:
为什么我无法访问已经拆分的字符串中的特定行号?
a = "ABCDEFGHIJKLJMNOPRSTCUFSC"
barcode = "2"
import textwrap
prazno = textwrap.fill(a,width=5)
podeli = prazno.splitlines()
这里的输出是正确的:
print(podeli)
ABCDE
FGHIJ
KLJMN
OPRST
CUFSC
但是,当我想将其中一行(例如 podeli[2])拆分为 3 个字符时,python 会忽略这一点并给出与 podeli[2](第 2 行)的拆分相同的输出。
if barcode[0] == '1':
podeli[1] += ' MATA'
elif barcode[0] == '2':
podeli[1] += ' MATA'
for podeli[2] in podeli:
textwrap.fill(podeli[2], width=3)
podeli[2].splitlines()
podeli[2] += ' MATA'
预期的输出是:
ABCDE MATA
FGH MATA
IJ
KLJMN
OPRST
CUFSC
有没有办法按一定的长度和订单号分割线? 谢谢各位!
【问题讨论】:
-
你想要的确切输出是什么?
-
您对
for podeli[2] in podeli:的期望是什么? -
(textwrap.fill(a), width=5))顺便说一句,这里的括号不均匀。我也认为它应该是这样的。prazno = textwrap.fill(a,width=5) -
我的预期输出是:ABCDEMATA FGHMATA IJ KLJMN OPRST CUFSC
-
您的循环正在覆盖
podeli[2]的内容,因为您将其用作循环变量。而且由于您没有将第二个splitlines的结果存储在任何地方,因此您自然看不到结果。您想要的是将新行插入列表中,这有点棘手。这只是针对固定位置,还是循环执行?
标签: python python-3.x split