List replication operator

bartc bc at freeuk.com
Fri May 25 08:44:21 EDT 2018


On 25/05/2018 13:36, bartc wrote:
> Of course you have to implement dupllist(), but you'd have to implement 
> ** too, and that is harder. For this specific example, it can just be:
>> def dupllist(x,n):
>     return [x[0].copy() for _ in range(n)]
>
On 25/05/2018 03:25, Steven D'Aprano wrote:
 > You might be right: on further thought, I think I want deep copies, not
 > shallow.
And my solution just becomes:
import copy
def dupllist(x,n):
 return [copy.deepcopy(x[0]) for i in range(n)]
(It needs to iterate repeatedly over the elements of x for a general 
list. Replacing [0] by [i%len(x)] might just do it.)
-- 
bartc


More information about the Python-list mailing list

AltStyle によって変換されたページ (->オリジナル) /