python 列表list去重

巴扎黑
發布: 2016-12-07 10:46:03
原創
1575 人瀏覽過

python 列表list去重

 

一.{}.fromkeys(list).keys()

list2 = {}.fromkeys(list1).keys()

list2 = {}.fromkeys(list1).keys()

(set(list1))

 

三.itertools.grouby

ids = [1,4,3,3,4,2,3,4,5,6,1]

ids.sort()

it = itertools.groupby(ids)

 for k, g in it:

    print k

 

四,笨方法

 

四,笨方法

ids =3,2,3333,333, ,5,6,1]

news_ids = []

for id in ids:

    if id not in news_ids:

        news_ids.append(id)

print news_ids

這四種都有個特點,去重後元素排序變了,效率據說第一種比第二種快一點

 

五.索引再次排序這種可以去重並且保持元素順序

#要結果是[1, 4, 3, 2, 5, 6]  不要[1, 2, 3, 4, 5, 6]

ids = [1,4,3,3,4,2,3,4,5,6,1]

news_ids = list(set(ids))

news_ids.sort(key=ids.index)

print news_ids #[1, 4, 3, 2, 5, 6]

 

。 1,4,3,3,4,2,3,4,5,6,1]

func = lambda x,y:x if y in x else x + [y]

print reduce(func, [ [], ] + ids)#[1, 4, 3, 2, 5, 6]


🎜
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!