lst=[1,3,5,3,4,4,2,9,6,7]
set_lst=set(lst)
#set會生成乙個元素無序且不重複的可迭代物件,也就是我們常說的去重
if len(set_lst)==len(lst):
print('列表裡的元素互不重複!')
else:
print('列表裡有重複的元素!')
lst=[1,3,5,8,9,9,0,0,3,3]
new_list=
for i in lst:
if i not in new_list:
#這樣能確保新的列表裡包含原列表裡所有種類的元素,且元素互不重複
if len(new_list)==len(lst):
print('原列表裡的元素互不重複!')
else:
print('原列表裡有重複的元素!')
我們只需要判斷有無重複元素,並不需要得到去重後的元素,因此上面的**顯得有些多餘。下面是我的改良版本(2023年7月15日補充):
lst=[1,3,5,8,9,9,0,0,3,3]
# false表示沒有重複,我們先假設沒有重複的元素
flag = false
length = len(lst)
for i in range(length):
# 這裡是檢查第i個元素是否跟第0到第i-1個元素中的某個重複
for j in range(i):
# 發現了乙個重複的元素,就可以修改flag的狀態
# 並且後面的元素沒有檢查的必要了
if lst[i] == lst[j]:
flag = true
break
if flag:
break
if flag:
print('原列表裡有重複的元素!')
else:
print('原列表裡沒有重複的元素!')
lst=[1,3,5,8,9,9,0,0]
dic={}.fromkeys(lst)
#這種方法建立字典,會把列表裡的元素當做字典的鍵,由於字典的鍵不能重複,所以會自動去重
if len(dic)==len(lst):
print('列表裡的元素互不重複!')
else:
print('列表裡有重複的元素!')
Python判斷列表裡是否有重複元素的三種方法
lst 1,3,5,3,4,4,2,9,6,7 set lst set lst set會生成乙個元素無序且不重複的可迭代物件,也就是我們常說的去重 if len set lst len lst print 列表裡的元素互不重複!else print 列表裡有重複的元素!lst 1,3,5,8,9,9...
如何判斷單鏈表裡面是否有環?
如何判斷單鏈表裡面是否有環?演算法的思想是設定兩個指標p,q,其中p每次向前移動一步,q每次向前移動兩步。那麼如果單鏈表存在環,則p和q相遇 否則q將首先遇到null。這裡主要理解乙個問題,就是為什麼當單鏈表存在環時,p和q一定會相遇呢?假定單鏈表的長度為n,並且該單鏈表是環狀的,那麼第i次迭代時,...
如何判斷單鏈表裡面是否有環?
如何判斷單鏈表裡面是否有環?演算法的思想是設定兩個指標p,q,其中p每次向前移動一步,q每次向前移動兩步。那麼如果單鏈表存在環,則p和q相遇 否則q將首先遇到null。這裡主要理解乙個問題,就是為什麼當單鏈表存在環時,p和q一定會相遇呢?假定單鏈表的長度為n,並且該單鏈表是環狀的,那麼第i次迭代時,...