我想從三個位置的三個串列中洗掉數字,然后將它們存盤在一個新串列中。我想過做類似 n 3 的事情,但不知道如何實作它。
[1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 1, 6, 1, 4, 7, 2, 4, 8, 4, 6, 9, 6, 5]
這是我的串列,我想創建一個這樣的新串列:
[1,2,3,4,5,6,7,8,9]
先感謝您
uj5u.com熱心網友回復:
據我了解,您想在每三個元素中選擇一個元素。為此,您可以使用 slicing [::3],其中3表示步長:
lst = [1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 1, 6, 1, 4, 7, 2, 4, 8, 4, 6, 9, 6, 5]
output = lst[::3]
print(output) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
uj5u.com熱心網友回復:
使用 set 洗掉所有倍數并更改型別,因此我們將其轉換回串列。在此處了解有關設定的更多資訊:https ://docs.python.org/3/tutorial/datastructures.html#sets
my_list=[1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 1, 6, 1, 4, 7, 2, 4, 8, 4, 6, 9, 6, 5]
new_list=list(set(my_list))
uj5u.com熱心網友回復:
很明顯,您的問題需要改進,但是,如果我理解正確,您想洗掉冗余,在這種情況下,一個更簡單的解決方案是將您的串列轉換為一個集合,它會像這樣處理:
unique = set(some_list)
請注意,唯一的 api 將是一組的,但如果您特別需要一個串列,您可以這樣做:
unique = list(set(some_list))
快樂編碼-
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/518394.html
