我有一个字符串列表 stringlist = ["elementOne" , "elementTwo" , "elementThree"]
我想搜索包含 "Two"
字符串的元素并将其从列表中删除,这样我的列表将变为 stringlist = ["elementOne" , "elementThree"]
我设法打印了它们,但真的不知道如何使用 del
从列表中完全删除,因为我不知道索引或使用 stringlist.remove("elementTwo")
因为我不知道包含 "Two"
的元素的确切字符串
到目前为止我的代码:
for x in stringlist:
if "Two" in x:
print(x)
原文由 faceoff 发布,翻译遵循 CC BY-SA 4.0 许可协议
通常当我们执行列表理解时,我们会构建一个新列表并为其分配与旧列表相同的名称。虽然这会得到预期的结果,但这不会删除旧列表。
为确保引用保持不变,您必须使用:
优点:
由于它正在分配给一个列表切片, 它将用相同的 Python 列表对象替换内容,因此引用保持不变,从而防止在其他地方引用它时出现一些错误。
如果您在下面这样做,您将失去对原始列表的引用。
因此,为了保留引用,您构建列表对象并将列表切片分配给它。
要了解细微差别:
让我们取一个列表
a1
包含一些元素并分配列表a2
等于a1
。方法一:
方法二:
Approach-2 实际上替换了原始
a1
列表的内容,而 Approach-1 没有。