亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

刪除列表中的特定連續重復項

刪除列表中的特定連續重復項

泛舟湖上清波郎朗 2022-10-11 16:04:24
該帖子與此類似,但我想要的是刪除列表中特定的連續重復項。所以假設我們有這個列表:[1,1,1,2,2,3,2,4,4,4,1]我希望有:[1,2,2,3,2,4,4,4,1]我只想刪除“那些”。我正在嘗試itertools.groupby,但我還沒有找到方法。
查看完整描述

2 回答

?
四季花海

TA貢獻1811條經驗 獲得超5個贊

您可以使用itertools.groupby和使用分組密鑰來保留密鑰或保留返回的組:


l = [1,1,1,2,2,3,2,4,4,4,1]


from itertools import chain, groupby


list(chain.from_iterable([k] if k==1 else v for k,v in groupby(l)))

# [1, 2, 2, 3, 2, 4, 4, 4, 1]


查看完整回答
反對 回復 2022-10-11
?
MMMHUHU

TA貢獻1834條經驗 獲得超8個贊

如果您在列表的開頭搜索那些,則不需要導入模塊來執行此操作,也可以在 for 循環中迭代元素:


your_list = [1,1,1,2,2,3,2,4,4,4,1]

for index, element in enumerate(your_list):

    if element != 1:

        break

if index:

    result = your_list[index-1:]

else:

    result = your_list

這將檢查一個,直到找到另一個數字。另一個數字 -1 的索引是列表的開頭。


如果列表中沒有 1,index則為零并返回原始列表。


查看完整回答
反對 回復 2022-10-11
  • 2 回答
  • 0 關注
  • 139 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號