在Python中,去除重複第一個想到的可以是set()。
得到結果之後,要如何幫"{ . }"set做排序?只要是iterable,sorted()都可以幫你排序,並且回傳一個list
並且,重複的數量1,2,3 與 集合的個數3,2,1有一一對應關係,可想到mapping(或者indexing)
在Python中,「*」代表「解開」與「收集」,與c語言系列的意義(指標)不同。可以想像成:
1. 解開:一個有包裝的容器(例如list),把外包裝拿走。print(*[1,2,3]) → print(1,2,3)
2. 收集:把沒有包裝的內容,收集起來。
def f(*args, **kwargs): return args
print( f(1,2,3) ) → print( (1,2,3) )
args會等於tuple (1,2,3)
另一個例子是
first, *rest = (1,2,3,4,5,6)
first等於int 1,rest會等於tuple (2,3,4,5,6)
奇妙的程式碼:
sorted的用法:
https://www.programiz.com/python-programming/methods/built-in/sorted
*args與**kwargs用法
https://www.programiz.com/python-programming/args-and-kwargs
https://stackabuse.com/unpacking-in-python-beyond-parallel-assignment/