是否可以使用python在列表中获取哪些值是重复的?
我有一个项目列表:
mylist = [20, 30, 25, 20]
Run Code Online (Sandbox Code Playgroud)
我知道删除重复项的最佳方法是set(mylist),但是有可能知道重复的是什么值吗?如您所见,在此列表中,重复项是第一个和最后一个值.[0, 3].
是否有可能在python中获得此结果或类似的东西?我试图避免做出一个荒谬的大if elif条件陈述.
鉴于:
x = ['w', 'e', 's', 's', 's', 'z','z', 's']
Run Code Online (Sandbox Code Playgroud)
每次出现都s出现在以下指数:
1st:2
2nd:3
3rd:4
4th:7
如果我这样做,x.index('s')我将得到第一个索引.
我如何得到第四个指数s?
我在df中有几个名称相同的列.需要重命名它们.通常的重命名重命名全部无论如何我可以将下面的blah(s)重命名为blah1,blah4,blah5?
In [6]:
df=pd.DataFrame(np.arange(2*5).reshape(2,5))
df.columns=['blah','blah2','blah3','blah','blah']
df
Out[6]:
blah blah2 blah3 blah blah
0 0 1 2 3 4
1 5 6 7 8 9
Run Code Online (Sandbox Code Playgroud)
在[7]中:
df.rename(columns = {'blah':'blah1'})
Out[7]:
blah1 blah2 blah3 blah1 blah1
0 0 1 2 3 4
1 5 6 7 8 9
Run Code Online (Sandbox Code Playgroud) 我正在学习Python3,现在正在学习元组章节。
虽然我们可以使用索引方法来打印项目的位置,如下所示:
>>> tup = ('a','b','a','c')
>>> tup.index('c')
>>> 3
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试打印重复项目的索引时,它只打印第一个项目,而忽略第二个项目。
>>> tup.index('a')
0
Run Code Online (Sandbox Code Playgroud)
我期望元组打印两个索引(位置)。
预期产出
>>> tup.index('a')
0, 2
Run Code Online (Sandbox Code Playgroud)
我可以知道为什么元组有这种行为吗?如果我们想打印元组中重复项的索引怎么办?