我想''用'.'list替换空实例compare:compare = ['ŋsbluː', 'mən', '', 'blˈyːt', '', 'ʔˈɛs']
compare = [w.replace('', '.') for w in compare]输出: ['.ŋ.s.b.l.u.ː.', '.m.ə.n.', '.', '.b.l.ˈ.y.ː.t.', '.', '.ʔ.ˈ.ɛ.s.]'但是我想要: ['ŋsbluː', 'mən', '.', 'blˈyːt', '.', 'ʔˈɛs']
3 回答
开心每一天1111
TA贡献1836条经验 获得超13个赞
您正在调用replace
列表中的各个元素。您可以通过过滤列表来达到所需的效果:
compare = ['ŋsbluː', 'mən', '', 'blˈyːt', '', 'ʔˈɛs'] compare = ["." if x == "" else x for x in compare]
红糖糍粑
TA贡献1815条经验 获得超6个赞
您真正的意思是,compare = ['.' if w == '' else w for w in compare]它不是replace替换代码中的每个零长度子串。
但是,您实际上并不需要列表理解,因为它也可以就位。
for i, x in enumerate(compare):
if x == '':
compare[i] = '.'
添加回答
举报
0/150
提交
取消