# def listflushbyset(inputlist):#集合去重
# newlist = list(set(inputlist))
# print(newlist)
#空間換時間
def flushlist(inputlist):
objlist =
for i in range(0, len(inputlist)):
length = 0
for j in range(i + 1, len(inputlist)):
if inputlist[i] == inputlist[j]:
length += 1
if length > 1:
pass
else:
print(objlist)
for i in range(len(objlist)):
del inputlist[objlist[i]]
for j in range(i + 1, len(objlist)):
if objlist[j] > objlist[i]:
objlist[j] -= 1
print(inputlist)
testlist = [1,3,6,9,8,42,3,6,4,2,3,4,6,2,89,7]
flushlist(testlist)
第三種根據快排排序然後進行去重時間複雜度為o(nlogn)
第四種空間換時間,從第乙個元素插入新列表,之後的每個元素通過判斷if x not in newlist來插入
第五種呼叫numpy的unique:
#fromiter是將迭代物件輸入成為陣列
import numpy as np
testlist = [5,2,6,2,7,5,6,8,2,9]
a = np.fromiter(testlist, dtype=int)
print ('第乙個陣列:')
print (a)
print ('\n')
print ('第乙個陣列的去重值:')
u = np.unique(a)
print (u)
print ('\n')
print ('去重陣列的索引陣列:')
u,indices = np.unique(a, return_index = true)
print (indices)
print ('\n')
print ('返回去重元素的重複數量:')
u,indices = np.unique(a,return_counts = true)
print (u)
print (indices)
#frombuffer是將buffer輸入的流轉換成陣列
import numpy as np
import re
testlist = [5,2,6,2,7,5,6,8,2,9]
teststring = b'5262756829'
a = np.frombuffer(teststring, dtype='s1')
print ('第乙個陣列:')
print (a)
print ('\n')
print ('第乙個陣列的去重值:')
u = np.unique(a)
print (u)
print ('\n')
tmplist =
for x in u.flat: #迭代獲取數值
print(str(x)[2])
print(tmplist)
print ('去重陣列的索引陣列:')
u,indices = np.unique(a, return_index = true)
print (indices)
print ('\n')
print ('返回去重元素的重複數量:')
u,indices = np.unique(a,return_counts = true)
print (u)
print (indices)
從無序鍊錶中移除重複項
題目描述 實現從無序鍊錶中移除重複項,並保持原有順序 head 0 5 3 2 4 3 1 0 head 0 5 3 2 4 1 解題思路 1.從第乙個元素開始,遍歷鍊錶比較重複元素並刪除重複元素 雙重迴圈 2.空間換時間 hashset判斷是否有該節點 hash方法和equals方法的作用 pub...
去除重複項
假定乙個txt檔案,內容是 45.44,66.78 47.67,69.12 內容有重複的,資料項是座標項。處理方法 對於資料內容,定義如下實體類 public class point public void setx double x public double gety public void s...
如何從無序鍊錶中移除重複項 Java版
題目描述 給定乙個沒有排序的鍊錶,去掉其重複項,並保留原順序,如鍊表1 3 1 5 5 7,去掉重複項變為1 3 5 7。方法一 順序刪除 思路 通過雙重迴圈直接在鍊錶上執行刪除操作。外層迴圈用乙個指標從第乙個節點開始遍歷整個鍊錶,然後內層迴圈用另乙個指標遍歷其餘節點,將與外層迴圈遍歷到的指標所指節...