猿问

如何用Python替换列表中的空实例?

我想'''.'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']


牧羊人nacy
浏览 232回答 3
3回答

一只萌萌小番薯

compare = [i or '.' for i in compare]

开心每一天1111

您正在调用replace列表中的各个元素。您可以通过过滤列表来达到所需的效果:compare = ['ŋsbluː', 'mən', '', 'blˈyːt', '', 'ʔˈɛs'] compare = ["." if x == "" else x for x in compare]

红糖糍粑

您真正的意思是,compare = ['.' if w == '' else w for w in compare]它不是replace替换代码中的每个零长度子串。但是,您实际上并不需要列表理解,因为它也可以就位。for i, x in enumerate(compare):    if x == '':        compare[i] = '.'
随时随地看视频慕课网APP

相关分类

Python
我要回答