Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chương trình Python tạo tuple cùng số chữ số (Equidigit tuples)

Khi cần tạo các tuple có cùng số chữ số (equi-digit tuples), ta dùng toán tử // (chia nguyên) và cắt list (list slicing).

Ví dụ

my_list = [5613, 1223, 966143, 890, 65, 10221]
print("Danh sách là:")
print(my_list)

my_result = []
for sub in my_list:
    mid_index = len(str(sub)) // 2
    element_1 = str(sub)[:mid_index]
    element_2 = str(sub)[mid_index:]
    my_result.append((int(element_1), int(element_2)))

print("Danh sách kết quả:")
print(my_result)

Kết quả đầu ra

Danh sách là:
[5613, 1223, 966143, 890, 65, 10221]
Danh sách kết quả:
[(56, 13), (12, 23), (966, 143), (8, 90), (6, 5), (10, 221)]

Giải thích

  • Định nghĩa danh sách và hiển thị.
  • Tạo danh sách rỗng lưu kết quả.
  • Duyệt danh sách, lấy chỉ số giữa bằng len(str(sub)) // 2.
  • Dùng cắt chuỗi lấy phần trước và sau chỉ số giữa.
  • Gán vào hai biến, chuyển sang int, thêm vào tuple, append vào kết quả.
  • Hiển thị kết quả.

Lưu ý: Với số chữ số lẻ, phần trước sẽ ngắn hơn phần sau 1 chữ số.