问题描述
我正在尝试使用 python 理解去除空格:
function defineAbility(req,res,next) {
if (req.session.rules) {
req.ability = new Ability(req.session.rules);
next();
} else {
// handle case when there is no rules in session yet
}
}
// later
app.get('/api/users',defineAbility,(req,res) => {
req.ability.can(...);
// or
ForbiddenError.from(req.ability).throwUnlessCan(...);
})
我正在输入一个实例 ID 列表,列表中留有空格,如下所示:
instance_id_list = input("Enter instance IDs separated by commas: ")
instance_ids = instance_id_list.split(",")
[instance_id.strip(' ') for instance_id in instance_ids]
print(f"Instance IDs: {(instance_ids)}")
但是当我打印出结果时,列表中的空格仍然存在:
i-0b956a2987c686dbd,i-0f6b1e1cdcabd2594,i-0307f123c3c9e6695,i-0425545775a09443d,i-00e48354b77e70484
为什么没有去除空白?
解决方法
[instance_id.strip(' ') for instance_id in instance_ids]
行没有任何影响。 strip()
返回一个剥离的字符串,它不能用剥离的版本自动替换字符串,因为字符串是不可变的。如果您想要一个删除的 instance_id
列表,您必须实际将列表理解的结果分配给某些内容:
stripped_instance_ids = [instance_id.strip(' ') for instance_id in instance_ids]
print(f"Instance IDs: {(stripped_instance_ids)}")
,
您忘记将结果分配回变量:
instance_ids = [instance_id.strip(' ') for instance_id in instance_ids]