Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menukar Senarai Bersarang Rentetan kepada Terapung Menggunakan Pemahaman Senarai dalam Python?
Apabila bekerja dengan senarai bersarang, ia selalunya menjadi perlu untuk menukar setiap elemen kepada jenis data yang berbeza. Satu senario biasa ialah menukar rentetan kepada terapung. Daripada menggunakan gelung bersarang, pemahaman senarai menyediakan penyelesaian yang ringkas dan cekap.
Untuk menukar setiap elemen dalam senarai bersarang kepada apungan, pemahaman senarai bersarang boleh digunakan:
[[float(y) for y in x] for x in l]
Ungkapan ini bergelung melalui setiap subsenarai x dalam senarai utama l dan mencipta subsenarai baharu yang mengandungi terapung ditukar daripada rentetan dalam x. Senarai yang terhasil akan mempunyai struktur yang sama seperti senarai asal, tetapi dengan apungan dan bukannya rentetan.
Jika satu senarai diratakan dikehendaki, susunan gelung boleh diterbalikkan :
[float(y) for x in l for y in x]
Dalam kes ini, y berulang melalui semua elemen dalam semua subsenarai, manakala x berulang melalui subsenarai diri mereka sendiri. Hasilnya ialah senarai tunggal yang mengandungi semua terapung yang diperoleh daripada senarai bersarang.
Pertimbangkan senarai bersarang berikut:
l = [['40', '20', '10', '30'], ['20', '20', '20', '20', '20', '30', '20'], ['30', '20', '30', '50', '10', '30', '20', '20', '20'], ['100', '100'], ['100', '100', '100', '100', '100'], ['100', '100', '100', '100']]
Menggunakan pemahaman senarai bersarang, hasilnya ialah:
[[40.0, 20.0, 10.0, 30.0], [20.0, 20.0, 20.0, 20.0, 20.0, 30.0, 20.0], [30.0, 20.0, 30.0, 50.0, 10.0, 30.0, 20.0, 20.0, 20.0], [100.0, 100.0], [100.0, 100.0, 100.0, 100.0, 100.0], [100.0, 100.0, 100.0, 100.0]]
Menggunakan pemahaman senarai yang diratakan, keputusannya ialah:
[40.0, 20.0, 10.0, 30.0, 20.0, 20.0, 20.0, 20.0, 20.0, 30.0, 20.0, 30.0, 20.0, 30.0, 50.0, 10.0, 30.0, 20.0, 20.0, 20.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0]
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Senarai Bersarang Rentetan kepada Terapung Menggunakan Pemahaman Senarai dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!