Trong bài này, chúng ta sẽ xem cách lấy một danh sách có chứa một số số lẻ làm phần tử của nó và sau đó thêm nhiều lần các phần tử lẻ đó vào cùng một danh sách. Có nghĩa là nếu số lẻ xuất hiện hai lần trong một danh sách thì sau khi xử lý, số lẻ sẽ xuất hiện bốn lần trong cùng một danh sách đó.
Đối với yêu cầu này, chúng tôi sẽ có nhiều cách tiếp cận trong đó chúng tôi sử dụng vòng lặp for và điều kiện trong điều kiện hoặc chúng tôi nhận trợ giúp của mô-đun itertools. Chúng tôi cũng kiểm tra điều kiện lẻ bằng cách chia mỗi phần tử cho hai.
Ví dụ
from itertools import chain import numpy as np data_1 = [2,11,5,24,5] data_2=[-1,-2,-9,-12] data_3= [27/3,49/7,25/5] odd_repeat_element_3=[] # using for and in odd_repeat_element = [values for i in data_1 for values in (i, )*(i % 2 + 1)] print("Given input values:'", data_1) print("List with odd number repeated values:", odd_repeat_element) # Using chain from itertools odd_repeat_element_2 = list(chain.from_iterable([n] if n % 2 == 0 else [n]*2 for n in data_2)) print("\nGiven input values:'", data_2) print("List with odd number repeated values:", odd_repeat_element_2) # Using extend from mumpy for m in data_3: (odd_repeat_element_3.extend(np.repeat(m, 2, axis = 0)) if m % 2 == 1 else odd_repeat_element_3.append(m)) print("\nGiven input values:'", data_3) print("List with odd number repeated values:", odd_repeat_element_3)
Chạy đoạn mã trên cho chúng ta kết quả sau:
Given input values:' [2, 11, 5, 24, 5] List with odd number repeated values: [2, 11, 11, 5, 5, 24, 5, 5] Given input values:' [-1, -2, -9, -12] List with odd number repeated values: [-1, -1, -2, -9, -9, -12] Given input values:' [9.0, 7.0, 5.0] List with odd number repeated values: [9.0, 9.0, 7.0, 7.0, 5.0, 5.0]