Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Meratakan dan Menukar Senarai Rentetan Bersarang kepada Senarai Terapung Rata dalam Python?

Bagaimanakah Saya Boleh Meratakan dan Menukar Senarai Rentetan Bersarang kepada Senarai Terapung Rata dalam Python?

Susan Sarandon
Susan Sarandonasal
2024-12-23 19:01:15769semak imbas

How Can I Flatten and Convert a Nested List of Strings to a Flat List of Floats in Python?

Meratakan dan Menukar Senarai Bersarang kepada Terapung menggunakan Pemahaman Senarai

Dalam Python, senarai bersarang biasanya digunakan untuk mewakili struktur data yang kompleks. Kadangkala, senarai sedemikian mungkin perlu diratakan atau menukar elemennya kepada jenis data yang berbeza, seperti apungan. Begini cara anda boleh mencapai ini menggunakan pemahaman senarai.

Penukaran 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']]

Untuk menukar setiap elemen dalam senarai bersarang ini untuk terapung, anda boleh menggunakan senarai bersarang kefahaman:

[[float(y) for y in x] for x in l]

Pemahaman ini berulang pada setiap subsenarai x dalam l dan mencipta senarai baharu yang mengandungi unsur apungan jenis, menggantikan rentetan asal.

Meratakan dan Penukaran

Jika anda ingin meratakan senarai bersarang sambil menukar elemen kepada terapung, anda boleh gunakan:

[float(y) for x in l for y in x]

Di sini, pemahamannya lebih kompleks. Ia mula-mula berulang pada subsenarai dalam l dan kemudian pada elemen dalam setiap subsenarai. Setiap elemen y ditukar kepada terapung dan dilampirkan pada senarai rata akhir.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Meratakan dan Menukar Senarai Rentetan Bersarang kepada Senarai Terapung Rata 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