1. 程式人生 > >python元素如何去重,去重後如何保持原來元素的順序不變

python元素如何去重,去重後如何保持原來元素的順序不變

python列表元素去重後如何保持原來的順序不變

    原列表:

        list1 = [1,2,1,4,9,3,5,2,6,7,3,1,6,8,4,0]

    去重,使用集合set來去重:

        list2 = list(set(list1)

    set去重得到的list2預設按升序進行排序:

        list2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

    使list2按照list1元素出現的順序進行排序(也就是原來的順序):

        list2.sort(key = list1.index)

    此時,list2 = [1, 2, 4, 9, 3, 5, 6, 7, 8, 0]

    具體的實現過程如下:

        

相關推薦

Python讀寫XML保持節點屬性順序

stack fyi 但是 ng- 改變 保持 flow -o href Python讀寫XML後保持節點屬性順序不變 試過xml.etree.ElementTree和xml.dom.minidom兩個python的庫,發現讀取後輸出都會改變xml裏面節點屬性的順序. 雖然這

python 列表保持順序python 列表保持原來順序

# encoding: utf-8 # 定義列表去重返回有序的函式 def set_distinct_sort(list1): """ :param list1: 列表 :re

python元素如何如何保持原來元素順序

python列表元素去重後如何保持原來的順序不變    原列表:        list1 = [1,2,1,4,9,3,5,2,6,7,3,1,6,8,4,0]    去重,使用集合set來去重:        list2 = list(set(list1)    set去

python中字串和列表保持原來順序

使用的是python的集合set() 下面是兩個簡單的例子: >>> l=[9,0,1,2,3,3,4,5,6,45,67,77,6,45,8] >>> ll=lis

JS:兩個json數組合並、以及刪除某一項元素

兩個json數組合並去重,以及刪除某一項元素 let ha = [ {id:'H',name:'3'}, {id:'A',name:'6'}, {id:'B',name:'14'}, {id:'C',name:'60'} ]; let hb= [

python 可迭代序列(列表元組字串)實現鄰近順序

碼字不易,轉載請標明出處… 鄰近去重程式碼實現如下: def special_func_order(seq): list_ = [] # 定義一個空列表,用來儲存判斷後的資料 for i in range(len(seq) - 1): # 假如 le

Java常見算法(一):

IT OS mage class 叠代 集合 size wid emp (一)去重 1.1 去重復() ①:建一個新的集合temp ②:再建傳入集合的叠代器,調用it.hasNext()。 ③:再用temp.contains("e")方法判斷---->true it.

陣列

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>qc</title> <scrip

sql語句以及排序

今天在建表並往表裡新增資料時,不小心將資料重複上傳了,也沒有按順序如下圖: ,看著極度不爽,也就想著可不可以修改一下表,刪除掉重複的資料,且根據欄位node_id 從小到大順序排列,於是首先想到的是

"你們不要學pythonpython執行效率慢學XX吧"

當我們終於下定決心想要學習python的時候,身邊的人(學長,同行,所謂的大牛)可能會跟我們這樣講。"你們不要學python,python執行效率慢,去學GoC++C吧",又讓我們好不容易下定的決心又面臨一次猶豫抉擇。事實真的是這樣嗎? 是真的,也不是真的。為什麼這樣說呢?下面慢慢講

定義一個數組陣列初始長度由控制檯獲取 。隨後手動給陣列中每個元素賦值陣列滿將陣列長度擴充二倍並輸出清空陣列中所有元素且值繼承陣列長度並重新進行手動新增元素,無限死迴圈直至輸出-0結束程式。

package com.tedu; import java.util.Arrays; import java.util.Scanner; /** * 需求: * 定義一個初始陣列,陣列初始長度由控制檯獲取 * 隨後手動給陣列中每個元素賦值,陣列滿後將陣列長度擴充二倍輸

python 爬蟲 cookies設定獲取登陸介面。

前言 Cookie Cookie 是指某些網站伺服器為了辨別使用者身份和進行Session跟蹤,而儲存在使用者瀏覽器上的文字檔案,Cookie可以保持登入資訊到使用者下次與伺服器的會話。 Cookie原理 HTTP是無狀態的面向連線的協議, 為了保持連線狀態, 引入了

JQ:當頁面滾動到一定位置之後元素固定在頂部小於位置恢復原來的位置

專案背景: 一天小虎找到龍哥說,龍哥你有沒有現成的JS板子,就是那種當頁面滾動到某個位置時,頁面中的某個元素則固定在頂部不在滾動,而小於這個位置之後這個元素又恢復到原來的狀態。 實現:這裡做了一個簡單的實現,前提是不要考慮瀏覽器相容了,如果你要考慮,就自己解

python連線oracel資料庫提取資料製圖並通過郵件傳送

總體要求:                通過python自動從oracle提取原始資料,對原始資料製圖,併發送郵件。發郵件時,通過oracle提取的資料儲存為excel作為附件傳送,圖片及相關文字內容通過郵件正文傳送。 =========================

python-進階教程-從序列中移除重複項並保持元素順序

0.摘要 本文主要介紹去除序列中重複的元素,並保持剩下元素順序不變的方法。   1.轉set() 如果只想去除重複元素,而不關心順序問題,可以將序列轉為set,從而達到簡單快速去重的效果。 a = [1,2,3,4,5,6,5,4,3,2,1,7,8,9] a = li

給一個view新增旋轉動畫並且停止保持旋轉角度恢復可繼續旋轉

   RotateAnimation這個動畫類 animation.setFillAfter(true);方法是在動畫自動停止後保持原位,而手動停止呼叫clearAnimation()後旋轉的控制元件會變成最開始的位置,想到的解決方  法是讓動畫旋轉30度

python怎麼操作Excel列與列按照一定的順序排列

# -*- coding:utf-8 -* import csv import pandas as pd with open('111.csv', 'rb') as csvfile: # 讀取CSV中的檔案 csv_reader = csv.reader(csvfi

輸入一個整數陣列實現一個函式來調整該陣列中數字的順序使得所有的奇數位於陣列的前半部分 所有的偶數位於陣列的半部分並保證奇數和奇數偶數和偶數之間的相對位置

/** * * 輸入一個整數陣列,實現一個函式來調整該陣列中數字的順序,使得所有的奇數位於陣列的前半部分, * 所有的偶數位於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。 * * */ public class Solution { public stati

本地專案放到git上clone下來。npm run dev成功。

$ npm run dev > [email protected]1.0.0 dev D:\1E\teacher\es\tagssys > webpack-dev-server --inline --progress --config b