這個python問題怎麼破?

時間 2021-05-30 16:29:56

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'

]print

(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'

]print

(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....