a=['Vince\n','Bob\n','Tom\n']
b=enumerate(a)
print(a) #结果:['Vince\n', 'Bob\n', 'Tom\n']
print(b) #结果:<enumerate object at 0x000002409620BAB0>,生成了一个enumerate对象
print(list(b)) #结果:[(0, 'Vince\n'), (1, 'Bob\n'), (2, 'Tom\n')],转换成enumerate对象列表,可以了解是此种形式,列表的每个元素是一个元组
#要求在每一个列表的元素的末尾且在换行符之前分别加上 '#0' '#1' '#2'
#利用推导式加上:index代表每个列表元素里的元组的一个值,temp就代表元组的第二个值
c=[temp+'#'+str(index) for index,temp in enumerate(a)]
print(c)
#结果:['Vince\n#0', 'Bob\n#1', 'Tom\n#2'],这样的结果是在换行符之后加上的,需求是要在换行符之前加上
c=[temp.rstrip()+'#'+str(index) for index,temp in enumerate(a)]
print(c)
#结果:['Vince#0', 'Bob#1', 'Tom#2'],string.rstrip()方法去除字符串的空白符换行符
file7.txt
文件内容:
姓名hudehcao
你好帅啊!
嗯!那当然!
实际需求:读取文件,并在文件的每一行加上'#0' '#1' '#2'
with open(r'file7.txt','r',encoding='utf-8') as f:
lines=f.readlines()
lines=[line.rstrip()+'#'+str(index) for index,line in enumerate(lines)]
with open(r'file7.txt','w',encoding='utf-8') as f:
f.writelines(lines)
#结果:因为重新生成的lines列表,每一个元素后面没有加上换行符
姓名hudehcao#0你好帅啊!#1嗯!那当然!#2
实际需求:读取文件,并在文件的每一行加上'#0' '#1' '#2'
with open(r'file7.txt','r',encoding='utf-8') as f:
lines=f.readlines()
lines=[line.rstrip()+'#'+str(index)+'\n' for index,line in enumerate(lines)] #在列表的每一个元素后面加上一个换行符'\n'
with open(r'file7.txt','w',encoding='utf-8') as f:
f.writelines(lines)
#结果:
姓名hudehcao#0
你好帅啊!#1
嗯!那当然!#2