根据由bool值组成的序列原序列的每个元素进行选择性操作
时间: 2024-09-26 18:08:16 浏览: 20
在Python中,你可以通过列表推导式(List Comprehension)或者条件表达式(Conditional Expression,也称为三元运算符)结合布尔序列来进行选择性操作。假设你有一个列表,你想根据一个布尔序列(True/False)来保留或过滤掉原始列表中的元素,可以按照下面的方式来实现:
1. 列表推导式:
```python
original_list = [1, 2, 3, 4, 5]
boolean_sequence = [True, False, True, False, True]
filtered_list = [item for i, item in enumerate(original_list) if boolean_sequence[i]]
```
这里,只有当`boolean_sequence[i]`为True时,`item`才会被添加到新的`filtered_list`中。
2. 条件表达式(三元运算符):
```python
original_list = [1, 2, 3, 4, 5]
boolean_sequence = [True, False, True, False, True]
filtered_list = [item if bool_seq else None for item, bool_seq in zip(original_list, boolean_sequence)]
# 注意,这里有些元素可能会被赋值为None,取决于布尔序列
```
同样地,只有当`bool_seq`为True时,`item`会被保留。
阅读全文