列表中元素的重複(Python)
在我們需要重複列表中值的情況下。這種值的複製可以在 Python 中透過以下方法實現。
使用巢狀 for 迴圈
這是一種直接的方法,其中選擇每個元素,透過一個內部的 for 迴圈來建立其副本,然後把它們都傳遞給一個外部的 for 迴圈。
示例
# Given list
listA = ['Mon', 'Tue', 9, 3, 3]
print("Given list : ",listA)
# Adding another element for each element
Newlist = [i for i in listA for n in (0, 1)]
# Result
print("New list after duplication: ",Newlist)輸出
執行上面的程式碼,將得到以下結果 -
Given list : ['Mon', 'Tue', 9, 3, 3] New list after duplication: ['Mon', 'Mon', 'Tue', 'Tue', 9, 9, 3, 3, 3, 3]
使用 itertools
itertools 模組處理可迭代物件中的資料操作。在這裡,我們應用 chain.from_iterables,它
示例
import itertools
# Given list
listA = ['Mon', 'Tue', 9, 3, 3]
print("Given list : ",listA)
# Adding another element for each element
Newlist = list(itertools.chain.from_iterable([n, n] for n in listA))
# Result
print("New list after duplication: ",Newlist)輸出
執行上面的程式碼,將得到以下結果 -
Given list : ['Mon', 'Tue', 9, 3, 3] New list after duplication: ['Mon', 'Mon', 'Tue', 'Tue', 9, 9, 3, 3, 3, 3]
與 reduce
reduce 函式對傳遞給它的一個特定函式,以及作為第二個引數傳遞到它上面的所有列表元素,執行操作。我們用它和 add 函式一起使用,後者可新增列表中每個元素的重複元素。
示例
from functools import reduce
from operator import add
# Given list
listA = ['Mon', 'Tue', 9, 3, 3]
print("Given list : ",listA)
# Adding another element for each element
Newlist = list(reduce(add, [(i, i) for i in listA]))
# Result
print("New list after duplication: ",Newlist)輸出
執行上面的程式碼,將得到以下結果 -
Given list : ['Mon', 'Tue', 9, 3, 3] New list after duplication: ['Mon', 'Mon', 'Tue', 'Tue', 9, 9, 3, 3, 3, 3]
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP