Khi cần chèn ngẫu nhiên các phần tử từ list khác vào list chính K lần, ta dùng package random (randint, choice).
Ví dụ
import random
my_list = [34, 12, 21, 56, 8, 9, 0, 3, 41, 11, 90]
print("List gốc:")
print(my_list)
print("Sau sắp xếp:")
my_list.sort()
print(my_list)
to_add_list = ["Python", "Object", "oriented", "language", 'cool']
K = 3
print("K =", K)
for _ in range(K):
index = random.randint(0, len(my_list))
my_list = my_list[:index] + [random.choice(to_add_list)] + my_list[index:]
print("Kết quả sau chèn ngẫu nhiên:")
print(my_list)
Kết quả đầu ra (ví dụ)
List gốc: [34, 12, 21, 56, 8, 9, 0, 3, 41, 11, 90] Sau sắp xếp: [0, 3, 8, 9, 11, 12, 21, 34, 41, 56, 90] K = 3 Kết quả sau chèn ngẫu nhiên: [0, 3, 8, 9, 11, 12, 'Python', 21, 34, 41, 56, 90, 'Object', 'oriented']
Giải thích
- Sắp xếp list số trước.
- Lặp K lần: sinh index ngẫu nhiên [0, len(list)], chọn phần tử ngẫu nhiên từ to_add_list.
- Chèn bằng slicing:
list[:index] + [new] + list[index:]. - List mở rộng, kiểu dữ liệu hỗn hợp (int + str).
Lưu ý: random.randint(0, len(my_list)) bao gồm cả len → chèn ở cuối. Dùng random.randrange(len(my_list)+1) tương đương.