Khi cần chuyển đổi các phần tử trong danh sách các tuple sang kiểu float (giữ nguyên chuỗi alphabetic), ta dùng isalpha(), float() và vòng lặp.
Ví dụ
my_list = [("31", "py"), ("22", "226.65"), ("18.12", "17"), ("pyt", "12")]
print("Danh sách ban đầu:")
print(my_list)
my_result = []
for index in my_list:
my_temp = []
for element in index:
if element.isalpha():
my_temp.append(element)
else:
my_temp.append(float(element))
my_result.append((my_temp[0], my_temp[1]))
print("Kết quả:")
print(my_result)
Kết quả
Danh sách ban đầu: [('31', 'py'), ('22', '226.65'), ('18.12', '17'), ('pyt', '12')]
Kết quả: [(31.0, 'py'), (22.0, 226.65), (18.12, 17.0), ('pyt', 12.0)]
Giải thích
Định nghĩa danh sách tuple chứa chuỗi số và chữ.
Duyệt từng tuple, rồi từng phần tử trong tuple.
Nếu
isalpha()True (chỉ chứa chữ), giữ nguyên chuỗi.Ngược lại chuyển sang float.
Tạo tuple mới từ hai phần tử đã xử lý, thêm vào kết quả.