Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menukar Senarai Bersarang Rentetan kepada Terapung Menggunakan Pemahaman Senarai dalam Python?

Bagaimanakah Saya Boleh Menukar Senarai Bersarang Rentetan kepada Terapung Menggunakan Pemahaman Senarai dalam Python?

DDD
DDDasal
2024-12-16 12:09:11584semak imbas

How Can I Convert Nested Lists of Strings to Floats Using List Comprehensions in Python?

Menukar Senarai Bersarang kepada Terapung Menggunakan Pemahaman Senarai

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.

Pemahaman Senarai Bersarang

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.

Pemahaman Senarai Diratakan

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.

Contoh Penggunaan

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn