python 列表相等 非順序

2021-08-18 04:25:28 字數 646 閱讀 6459

在寫單元測試的時候, 測db裡面獲取到的值, 發現

res = load_data_from_db(data = [, ])

assert [, ]==res

居然報錯了!!!

在度娘裡面找不到, 關於非排序的列表判斷相等的相關的知識

谷歌一下, raymond大神給出了正解

如果對於可雜湊的值使用 counter()

,o(n)

: def compare(s, t):

return counter(s) == counter(t)

如果你的結果是可排序的 

sorted()

,o(n log n)

: def compare(s, t):

return sorted(s) == sorted(t)

對於不可雜湊,也不可以排序的值, 還是可以使用相等去解決,o(n * n)

:def compare(s, t):

t = list(t)   # make a mutable copy

try:

for elem in s:

t.remove(elem)

except valueerror:

return false

return not t

Python 數字列表相關

for aa in range 3,8 print aa 345 67 建立乙個數字列表 aa1 list range 10,20,3 10開始到20直接,每隔三個取乙個值 print aa1 10,13,16,19 pingfang for a in range 1,10 aa a 2 print...

Python 列表相關操作

一 列表相關操作彙總 二 列表的建立 1 list 建立 使用 list 可以將任何可迭代的資料轉化成列表。a list 建立乙個空的列表物件 a list range 10 a 0,1,2,3,4,5,6,7,8,9 a list gaoqi,sxt a g a o q i s x t 2 ran...

Python入門之旅(列表相關)

列表 一系列按特定順序排列的元素的集合,類似於陣列的概念。元素可以是數字,字串等 在python中,用方括號 來表示列表,並用逗號來分隔其中的元素 lists one two three 相關操作 增 insert 可以新增至列表的任意位置,所以需要指定新元素的索引和值lists.insert 4,...