我有一个像list = ['happy','angry','sad','emotion
]的列表。
所以我想替换列表并创建像
这样的新列表new_list=[1, 0, 0,'happy']
以下是我的代码,它不起作用。
if emotion=='happy':
list .replace('happy', '1').replace('angry', '0').replace('sad', '0').replace('emotion', 'happy')
这样做的正确方法是什么。请帮帮我!
答案 0 :(得分:1)
list = ['happy','angry','sad','emotion']
new_list = [int(y) if y.isdigit() else y for y in [x.replace('happy', '1').replace('angry', '0').replace('sad', '0').replace('emotion', 'happy') for x in list]]
如果你想要替换超过这4个值,那么制作一个需要多次替换的广义替换函数是有意义的,例如:两个清单。
编辑:已修复以防您绝对需要数字而不是字符串作为输出