查找重复元素的索引[重复]
Posted
技术标签:
【中文标题】查找重复元素的索引[重复]【英文标题】:Find the index of the repeated elements [duplicate] 【发布时间】:2022-01-18 09:44:47 【问题描述】:假设我有一个包含 905 个元素的列表:
roughness = [140.0, 120.0, 140.0, 120.0, 140.0, 140.0, 140.0, 140.0, 120.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 120.0, 120.0, 120.0, 140.0, 140.0, 120.0, 140.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 140.0, 120.0, 120.0, 120.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 120.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 120.0, 120.0, 120.0, 120.0, 120.0, 140.0, 120.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 120.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 140.0, 140.0, 120.0, 140.0, 120.0, 140.0, 120.0, 120.0, 140.0, 120.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 120.0, 120.0, 120.0, 140.0, 140.0, 140.0, 140.0, 120.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 120.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 120.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 120.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 120.0, 120.0, 140.0, 140.0, 140.0, 140.0, 140.0, 120.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 120.0, 120.0, 120.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 120.0, 120.0, 140.0, 140.0, 120.0, 120.0, 140.0, 140.0, 120.0, 120.0, 140.0, 140.0, 140.0, 140.0, 120.0, 120.0, 120.0, 140.0, 140.0, 120.0, 120.0, 120.0, 120.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 120.0, 120.0, 120.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 120.0, 120.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 120.0, 120.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 120.0, 120.0, 120.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 120.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 120.0, 120.0, 120.0, 120.0, 120.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 120.0, 120.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0, 140.0]
我想在上面显示的列表中找到“120”元素的所有索引。 我尝试使用代码来做到这一点:
all_index = []
for i in roughness:
if i == 120:
index = roughness.index(i)
all_index.append(index)
print(all_index)
但它只返回第一个'120'的索引,如[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
您能否给我一些关于如何在粗糙度列表中找到“120”的每个元素的索引的想法?非常感谢!
【问题讨论】:
【参考方案1】:使用enumerate
函数:
out = [i for i,x in enumerate(roughness) if x==120]
如果依赖性不是问题,您也可以使用numpy.where
:
out = np.where(np.array(roughness)==120)
输出:
[ 1, 3, 8, 34, 35, 36, 39, 41, 42, 43, 44, 45, 46,
47, 49, 50, 51, 64, 71, 72, 73, 74, 75, 77, 85, 144,
145, 146, 147, 148, 149, 150, 151, 154, 156, 158, 159, 161, 178,
179, 180, 185, 194, 206, 215, 228, 229, 235, 339, 340, 341, 342,
343, 344, 352, 353, 354, 355, 356, 357, 358, 371, 372, 373, 384,
385, 388, 389, 392, 393, 398, 399, 400, 403, 404, 405, 406, 531,
532, 533, 546, 547, 672, 673, 674, 675, 676, 677, 678, 679, 736,
737, 787, 788, 789, 798, 799, 800, 801, 802, 803, 804, 811, 812,
813, 814, 815, 816, 817, 818, 819, 820, 833, 834, 835, 836, 837,
864, 865]
【讨论】:
【参考方案2】:使用for i in roughness
可能有一种简单的方法可以做到这一点,但我会这样做:
all_index = []
for i in range(len(roughness)):
if roughness[i] == 120
all_index.append(i)
print(all_index)
【讨论】:
【参考方案3】:你就是这样做的:
indices = []
for i in range(len(roughness)):
if roughness[i] == 120:
indices.append(i)
print(indices)
输出如下:
[1, 3, 8, 34, 35, 36, 39, 41, 42, 43, 44, 45, 46, 47, 49, 50, 51, 64, 71, 72, 73, 74, 75, 77, 85, 144, 145, 146, 147, 148, 149, 150, 151, 154, 156, 158,
159, 161, 178, 179, 180, 185, 194, 206, 215, 228, 229, 235, 339, 340, 341, 342, 343, 344, 352, 353, 354, 355, 356, 357, 358, 371, 372, 373, 384, 385, 388, 389, 392, 393, 398, 399, 400, 403, 404, 405, 406, 531, 532, 533, 546, 547, 672, 673, 674, 675, 676, 677, 678, 679, 736, 737, 787, 788, 789, 798, 799, 800, 801, 802, 803, 804, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 833, 834, 835, 836, 837, 864, 865]
【讨论】:
以上是关于查找重复元素的索引[重复]的主要内容,如果未能解决你的问题,请参考以下文章