众所周知,列表的 remove()方法是用于移除列表中某个值的第一个匹配项的方法。 如果某个列表中的所有元素都是数字或字符串,那么 remove()方法就很好理解。 但是,如果列表中的元素都是类的对象呢? 我在编写某个项目时就遇到了这个困扰。 首先,我使用列表保存了一系列的不同的对象,然后我需要遍历所有的元素并筛选,得到一个新的列表。 于是我先对这个列表进行了潜复制,然后遍历原列表,进行筛选,满足条件的元素(对象)将从潜复制后的新列表中使用 remove()方法移除。
显然这不是最好的方法,我认为应该先生成一个空列表,然后将不满足条件的元素(对象)添加到这个新列表里。
虽然最终代码运行结果合乎我的预期,但我还是很困扰。 对于对象来说,list 的 remove()方法是如何判断它是否匹配的呢? 这个方法具体又是如何实现的呢? 如果我能阅读得到 Python 中有关 list 的源代码就好了。
1
Mistwave 2018-09-04 11:55:34 +08:00 via iPhone
|
2
wwqgtxx 2018-09-04 12:29:45 +08:00
|
3
privatezcoding 2018-09-04 17:15:35 +08:00
@Mistwave 666
|
4
jiangbingo 2018-09-04 17:32:10 +08:00
@Mistwave 话说平时碰到这些有趣的网址除了放入收藏夹,你们都是如何记住的呢?
|