几乎我需要编写一个程序来检查列表是否有任何重复项,如果有,它会删除它们并返回一个新列表,其中包含未复制/删除的项目.这就是我所拥有的,但说实话,我不知道该怎么做.
def remove_duplicates():
t = ['a', 'b', 'c', 'd']
t2 = ['a', 'c', 'd']
for t in t2:
t.append(t.remove())
return t
Run Code Online (Sandbox Code Playgroud) 是否可以同时从列表中删除多个元素?如果我想删除索引0和2处的元素,并尝试类似del somelist [0],然后是del somelist [2],则第二个语句实际上会删除somelist [3].
我想我总是可以先删除编号较高的元素,但我希望有更好的方法.
在Python中,至少有两种方法可以使用键从dict中删除项目.
d = {"keyA": 123, "keyB": 456, "keyC": 789}
#remove via pop
d.pop("keyA")
#remove via del
del d["keyB"]
Run Code Online (Sandbox Code Playgroud)
这两种方法都会从dict中删除该项.
我想知道我应该使用哪些方法以及为什么.还有,哪个更pythonic?
我的问题是我有一个列表,例如.
lst = [2, 5, 7, 12, 13]
lst.pop(3) #12
lst.pop(4) #13
Run Code Online (Sandbox Code Playgroud)
因为lst [3]已被删除,所以[4]不再存在(超出范围).这给了我一个错误.现在我知道你可以说你的代码更改为:...
lst.pop(4) #13
lst.pop(3) #12
Run Code Online (Sandbox Code Playgroud)
...并且它修复了错误,但我的问题是我的实际代码是'弹出'随机数,所以它需要同时完成以避免错误.
有没有同时'弹出'的方法?...就像这样的东西:
lst.pop(3, 4) #12 and 13 at once
Run Code Online (Sandbox Code Playgroud)
谢谢你的回答.