Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python – แปลงสมาชิกในลิสต์ Tuple ให้เป็น Float

เมื่อต้องการแปลงสมาชิกในลิสต์ของ tuple ให้เป็น float ถ้าเป็นตัวเลข คงไว้ถ้าเป็นสตริงอักษร สามารถใช้ isalpha(), float() และลูป iteration ได้

ตัวอย่าง

my_list = [("31", "py"), ("22", "226.65"), ("18.12", "17"), ("pyt", "12")]
print("The list is :")
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("The result is :")
print(my_result)

ผลลัพธ์

The list is : [('31', 'py'), ('22', '226.65'), ('18.12', '17'), ('pyt', '12')]
The result is : [(31.0, 'py'), (22.0, 226.65), (18.12, 17.0), ('pyt', 12.0)]

คำอธิบาย

  • กำหนดลิสต์ของ tuple สตริง (บางตัวเป็นตัวเลข บางตัวเป็นข้อความ) แสดงผล

  • สร้างลิสต์ว่างผลลัพธ์ วนลูปแต่ละ tuple (index) สร้างลิสต์ชั่วคราว my_temp

  • วนลูปสมาชิกใน tuple: isalpha() ตรวจสอบว่าเป็นตัวอักษรทั้งหมด ถ้าใช่เก็บค่าเดิม ถ้าไม่ใช่แปลงเป็น float()

  • สร้าง tuple ใหม่จาก my_temp เพิ่มในผลลัพธ์

  • แสดงผลลัพธ์ลิสต์ tuple ที่แปลงแล้ว