How can I duplicate all elements in an 2D array?
The order matters.
For example:
arr = [
["d", "a", "c"],
["b", "l", "a"],
["d", "u", "h"],
]
# do something
print(arr)
# Output: [
# ["d", "d", "a", "a", "c", "c"],
# ["b", "b", "l", "l", "a", "a"],
# ["d", "d", "u", "u", "h", "h"],
# ]
>Solution :
Here is one way to do so using list comprehension:
new_arr = [[element for item in sublist for element in (item, item)] for sublist in arr]
print(new_arr)
# [['d', 'd', 'a', 'a', 'c', 'c'], ['b', 'b', 'l', 'l', 'a', 'a'], ['d', 'd', 'u', 'u', 'h', 'h']]
An alternative using for loops would be:
new_arr = []
for sublist in arr:
new_sublist = []
for item in sublist:
new_sublist.extend([item, item])
new_arr.append(new_sublist)
print(new_arr)