python列表去除所有包含xx的元素
时间: 2023-07-25 09:20:29 浏览: 51
可以使用列表解析(List comprehension)来筛选出不包含指定元素的子列表,例如:
```python
my_list = ['apple', 'banana', 'orange', 'watermelon', 'pear']
my_list = [x for x in my_list if 'a' not in x]
print(my_list) # ['watermelon']
```
这将从列表中筛选出所有不包含字母'a'的元素,生成一个新的子列表。
如果你要删除列表中所有包含指定元素的元素,可以使用循环来实现,例如:
```python
my_list = ['apple', 'banana', 'orange', 'watermelon', 'pear']
for x in my_list[:]:
if 'a' in x:
my_list.remove(x)
print(my_list) # ['watermelon']
```
这里需要注意的是,在循环中我们需要使用列表的切片操作`my_list[:]`来复制原列表,以避免在循环中修改列表导致遍历出错的问题。
相关问题
python去掉列表中所有元素的单引号
你可以使用列表解析 (list comprehension) 来去掉列表中所有元素的单引号。以下是一个示例代码:
```python
my_list = ["'apple'", "'banana'", "'cherry'"]
new_list = [item.strip("'") for item in my_list]
print(new_list)
```
输出结果将是:
```
['apple', 'banana', 'cherry']
```
在上述代码中,`strip("'")` 方法用于去掉字符串中的单引号。通过列表解析,我们对列表中的每个元素都应用了这个方法,从而得到了一个新的列表 `new_list`,其中所有元素都不包含单引号。
删除Python列表中指定的所有元素
可以使用`remove()`方法和循环来删除Python列表中指定的所有元素。`remove()`方法可以删除列表中第一个匹配的元素,因此需要使用循环来重复调用该方法直到所有的目标元素都被删除。
下面是一个示例代码:
```
my_list = [1, 2, 3, 2, 4, 2, 5]
target_element = 2
while target_element in my_list:
my_list.remove(target_element)
print(my_list)
```
输出结果为:
```
[1, 3, 4, 5]
```
这个代码中,首先定义了一个包含重复元素的列表`my_list`和一个要删除的目标元素`target_element`。然后使用`while`循环来检查目标元素是否在列表中,并在列表中不断地使用`remove()`方法删除目标元素,直到目标元素不再存在于列表中。最后打印出删除目标元素后的列表。