Python 打印列表项及其X子序列
输入列表:Python 打印列表项及其X子序列,python,list,loops,Python,List,Loops,输入列表: a = ['Dog', 'Cat', 'Bird', 'Horse'] 我的代码: For i in range(len(a)): word = a[i] if word == 'Cat' b = open('file.txt','w') b.write(a[i]) 现在,代码将迭代并将Cat写入一个新文件,但我希望让我的程序编写Cat和后续字符串,在这种情况下是Bird和Horse 我能做点什么吗?i、 e:b.writea[i:]或
a = ['Dog', 'Cat', 'Bird', 'Horse']
我的代码:
For i in range(len(a)):
word = a[i]
if word == 'Cat'
b = open('file.txt','w')
b.write(a[i])
现在,代码将迭代并将Cat写入一个新文件,但我希望让我的程序编写Cat和后续字符串,在这种情况下是Bird和Horse
我能做点什么吗?i、 e:b.writea[i:]或b.writea[i:2]
编辑:
通过使用以下方法解决:
b、 写入'\n'.joina[i:i+X],其中X是后续项
我仍然对更好的答案持开放态度。谢谢。您可以:
b.write('\n'.join(a[i:]))
如果要在字符之间拆分换行符,如果需要空格,只需使用“”。joina[i:]例如,您可以跳过for循环,只需执行以下操作:
with open('f', 'w') as f:
f.write('\n'.join(a[a.index('Cat'):]))
您可以先打开文件,然后在列表上迭代;为什么需要迭代呢?您不能直接将列表写入文件吗?如果“Cat”一词在列表中不止一次怎么办?您可以执行“\n”.joina[i:i+3]并抛出索引器以防万一或在之前捕获它