1樓:PLA讓讓子
遍歷列表的時候把該元素的出現的次數和索引存為乙個長為2的列表,把這個列表存為字典的value,字典的key就是該元素。遍歷下乙個元素的時候,若重複則出現次數加1,否則建立新的key-value對,最後查詢字典中出現次數大於2的元素的索引即可
2樓:半個馮博士
deffind_repeat
(array_A
):dup_pairs={}
forindex
,value
inenumerate
(array_A
):if
value
!=index:if
value
==array_A
[value
]:dup_pairs
[index]=
value
else
:array_A
[index
],array_A
[value]=
array_A
[value
],array_A
[index
]return
dup_pairs
測試:d
=find_repeat([1
,2,3
,4,4
,5,6
,5,2
,2,3
,7,7
,5])print(d)
3樓:王加加
如果只找除了第一次出現的元素之外的所有索引:
deffind_duplicates(ls):occur=
dups=
fori,t
inenumerate(ls
):iftin
occur
:dups.(
i)else
:occur.(
t)return
dupsls=
['a'
,'c'
,'a'
,'d'
,'c'
,'c'
(find_duplicates(ls
))輸出:[2, 4, 5]
如果要獲得所有出現次數大於1的元素的索引,可以用Counter:
from
collections
import
Counter
deffind_dup2(ls
):c=Counter(ls
)dups=
fori,t
inenumerate(ls
):ifc[
t]>1:
dups.(
i)return
dupsls=
['a'
,'c'
,'a'
,'d'
,'c'
,'c'
(find_dup2(ls
))輸出:[0, 1, 2, 4, 5]
Python問題,求助Python大神 這個程式為什麼執行失敗了?
黃哥 只修改了你的語法錯誤,原因是有二處少了右括號 黃哥Python培訓黃哥所改 print 想乙個10以內的數 a input 這個數大於5嗎?Yes No if a Yes i input 這個數是5嗎?Yes No if i Yes print 這個數是5 elif i No b input ...
這個python問題如何解決
盜藍 只返回第乙個最長的數字字串 import re string 983fh398fh29q83u9283f9299h3 int list re findall r d string int list 983 398 29 83 9283 9299 3 result max int list ke...
python怎麼看下面這個關於類的問題?
斐大文 乙個是呼叫類建構函式,建立物件後呼叫物件的類方法乙個是呼叫類物件的方法 類靜態成員函式 而且你第二個呼叫方法是錯誤的,應該避免。切記在python中,類也是物件 Li Ye 因為方法名字被物件的屬性名遮蔽了。在例項化後,會建立乙個p物件 test instance 裡面儲存了其屬性name....