为什么我不能用这种 Python 理解去除空格?
Why can't I strip whitespace with this Python comprehension?
我正在尝试通过 python 理解去除空格:
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)}")
我正在输入一个实例 ID 列表,列表中有空格,如下所示:
i-0b956a2987c686dbd, i-0f6b1e1cdcabd2594, i-0307f123c3c9e6695, i-0425545775a09443d, i-00e48354b77e70484
但是当我打印出结果时,列表中的空格仍然存在:
Instance IDs: ['i-0b956a2987c686dbd', ' i-0f6b1e1cdcabd2594', ' i-0307f123c3c9e6695', ' i-0425545775a09443d', ' i-00e48354b77e70484']
为什么不去除空格?
[instance_id.strip(' ') for instance_id in instance_ids]
行没有任何影响。 strip()
returns 一个剥离的字符串,它不能用剥离的版本自动替换字符串,因为字符串是不可变的。如果你想要一个剥离的 instance_id
s 的列表,你实际上必须将列表理解的结果分配给一些东西:
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]
我正在尝试通过 python 理解去除空格:
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)}")
我正在输入一个实例 ID 列表,列表中有空格,如下所示:
i-0b956a2987c686dbd, i-0f6b1e1cdcabd2594, i-0307f123c3c9e6695, i-0425545775a09443d, i-00e48354b77e70484
但是当我打印出结果时,列表中的空格仍然存在:
Instance IDs: ['i-0b956a2987c686dbd', ' i-0f6b1e1cdcabd2594', ' i-0307f123c3c9e6695', ' i-0425545775a09443d', ' i-00e48354b77e70484']
为什么不去除空格?
[instance_id.strip(' ') for instance_id in instance_ids]
行没有任何影响。 strip()
returns 一个剥离的字符串,它不能用剥离的版本自动替换字符串,因为字符串是不可变的。如果你想要一个剥离的 instance_id
s 的列表,你实际上必须将列表理解的结果分配给一些东西:
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]