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
Lepaskan: 2024-12-16 12:09:11
asal
584 orang telah melayarinya

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]
Salin selepas log masuk

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]
Salin selepas log masuk

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']]
Salin selepas log masuk

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]]
Salin selepas log masuk

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]
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan