我一直在为Python中的这个示例而挣扎。 我有一个由一些文本组成的列表: x=[“第1行\n”,“第2行\n”,“第3行\n”] 然后我想修改它的元素并打印列表3次。这是我的代码:
for y in range(3):
for n,i in enumerate(x):
if i == 'line1\n':
x[n] = 'line1' + str(y) + '\n'
if i == 'line2\n':
x[n] = 'line2' + str(y) + '\n'
if i == 'line3\n':
x[n] = 'line3' + str(y) + '\n'
print(''.join(x))
这给了我:
第10行
第20行
第30行
三次。但我想得到的是:
第10行
第20行
第30行
那么
第11行
第21行
第31行
等等
你知道我怎样才能得到这个结果吗?我做错什么了?谢谢
如果我对你所要达到的目标理解正确,这就是解决方案:
我把
str(y)
改成了str(n)
,这是错误计数的根源。你知道吗但是这个代码没有什么意义,因为我不知道上下文,所以这可能不是你想要的。你知道吗
枚举在第一次正确运行时,将所有行更改为
如果你的陈述不再适用。他们还在找
if x[0] == 'line1\n':
,但现在x[0] = line10\n
你能不能不这样试着用它们在数组中的位置来检查它们?你知道吗
将每行设置为
x[n] = 'line1' + 0 + '\n'
x[n] = 'line2' + 0 + '\n'
x[n] = 'line3' + 0 + '\n'
然后,当您第二次回环时,所有行都将不满足您要检查的条件。你知道吗
相关问题 更多 >
编程相关推荐