Computer >> Máy Tính >  >> Lập trình >> Python

Nối phần tử Odd hai lần bằng Python

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]