Perhatikan bahwa sintaks print(type(my_dict)) ditambahkan di bagian bawah sintaks untuk menunjukkan bahwa kita mendapatkan kamus
Sekarang, mari gunakan fungsi list() untuk mengekstrak nilai kamus sebagai daftar
my_dict = {'A': 300, 'B': 150, 'C': 500, 'D': 850, 'E': 400} my_list = list(my_dict.values()) print(my_list) print(type(my_list))Seperti yang Anda lihat, nilai kamus diekstraksi sebagai daftar
[300, 150, 500, 850, 400] <class 'list'> _Contoh 2. Gunakan pemahaman daftar untuk mengekstrak nilai kamus
Sekarang, mari ekstrak nilai kamus sebagai daftar menggunakan pemahaman daftar
my_dict = {'A': 300, 'B': 150, 'C': 500, 'D': 850, 'E': 400} my_list = [i for i in my_dict.values()] print(my_list) print(type(my_list))Anda akan mendapatkan daftar yang sama seperti pada contoh sebelumnya
[300, 150, 500, 850, 400] <class 'list'>Contoh 3. Gunakan loop for untuk mengekstrak nilai kamus
Terakhir, Anda dapat menggunakan For Loop untuk mengekstrak nilai sebagai daftar
my_dict = {'A': 300, 'B': 150, 'C': 500, 'D': 850, 'E': 400} my_list = [] for i in my_dict.values(): my_list.append(i) print(my_list) print(type(my_list)) _Seperti sebelumnya, Anda akan mendapatkan daftar yang sama
[300, 150, 500, 850, 400] <class 'list'>Ekstrak Nilai Kamus sebagai Daftar Daftar
Bagaimana jika Anda ingin mengekstrak nilai kamus sebagai daftar daftar?
Misalnya, anggaplah Anda memiliki kamus berikut
my_list = [i for i in my_dict.values()] _1Hasil
my_list = [i for i in my_dict.values()] _2Anda kemudian dapat menerapkan sintaks berikut untuk mengekstrak nilai kamus sebagai daftar daftar
my_list = [i for i in my_dict.values()] _3Anda sekarang akan mendapatkan daftar daftar
my_list = [i for i in my_dict.values()] _4Anda mungkin juga ingin memeriksa panduan berikut yang menjelaskan cara mengekstrak kunci kamus sebagai daftar
Diberikan daftar daftar, tulis program Python untuk mengekstrak elemen pertama dari setiap subdaftar dalam daftar daftar yang diberikan. Contoh
Input : [[1, 2], [3, 4, 5], [6, 7, 8, 9]] Output : [1, 3, 6] Input : [['x', 'y', 'z'], ['m'], ['a', 'b'], ['u', 'v']] Output : ['x', 'm', 'a', 'u']Pendekatan #1. Daftar pemahaman
Python3
# Python3 program to extract first and last
# element of each sublist in a list of lists
def Extract(lst):
[1, 3, 6]0 [1, 3, 6]1[1, 3, 6]2[1, 3, 6]3[1, 3, 6]4 [1, 3, 6]5[1, 3, 6]6 [1, 3, 6]7
[1, 3, 6]_9
[1, 3, 6]0[1, 3, 6]1 [1, 3, 6]2[1, 3, 6]3[1, 3, 6]4[1, 3, 6]5[1, 3, 6]6[1, 3, 6]7[1, 3, 6]4[1, 3, 6]9[1, 3, 6]4[1, 3, 6]1[1, 3, 6]6[1, 3, 6]3[1, 3, 6]4[1, 3, 6]5[1, 3, 6]4[1, 3, 6]7[1, 3, 6]4[1, 3, 6]9[1, 3, 6] 0
Di Python, Anda dapat membuat daftar baru dengan mengekstraksi, menghapus, mengganti, atau mengonversi elemen yang memenuhi kondisi daftar yang ada dengan pemahaman daftar
Artikel ini menjelaskan konten berikut
- Dasar-dasar pemahaman daftar
- Terapkan operasi ke semua elemen daftar
- Ekstrak/hapus elemen yang memenuhi persyaratan dari daftar
- Ganti/konversi elemen yang memenuhi kondisi dalam daftar
Lihat artikel berikut untuk contoh daftar string
- Ekstrak dan ganti elemen yang memenuhi persyaratan daftar string dengan Python
Dimungkinkan juga untuk mengambil sampel elemen secara acak dari daftar
- Pengambilan sampel acak dari daftar dengan Python (random. pilihan, sampel, pilihan)
Ambil daftar berikut sebagai contoh
l = list(range(-5, 6)) print(l) # [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]
sumber.
Tautan Bersponsor
Dasar-dasar pemahaman daftar
Dengan Python, Anda dapat membuat [expression for variable_name in iterable if condition] 3 menggunakan daftar pemahaman. Ini lebih sederhana daripada menggunakan [expression for variable_name in iterable if condition] 4 loop
[expression for variable_name in iterable if condition]
[expression for variable_name in iterable if condition] 5 diterapkan pada elemen yang memenuhi [expression for variable_name in iterable if condition] 6 dari [expression for variable_name in iterable if condition] 7 (daftar, tuple, dll. ), dan daftar baru dibuat. [expression for variable_name in iterable if condition] 8 dapat dihilangkan, jika dihilangkan, [expression for variable_name in iterable if condition] 5 diterapkan ke semua elemen
Lihat artikel berikut untuk detail tentang pemahaman daftar
- Daftar pemahaman dengan Python
Terapkan operasi ke semua elemen daftar
Jika Anda menulis operasi yang diinginkan di bagian [expression for variable_name in iterable if condition] 5 dari pemahaman daftar, operasi itu diterapkan ke semua elemen daftar
l_square = [i**2 for i in l] print(l_square) # [25, 16, 9, 4, 1, 0, 1, 4, 9, 16, 25] l_str = [str(i) for i in l] print(l_str) # ['-5', '-4', '-3', '-2', '-1', '0', '1', '2', '3', '4', '5']
sumber.
Anda dapat menggunakan ini untuk mengubah daftar angka menjadi daftar string. Lihat artikel berikut untuk detailnya
- Mengonversi daftar string dan daftar angka satu sama lain dengan Python
Tautan Bersponsor
Ekstrak/hapus elemen yang memenuhi persyaratan dari daftar
Jika Anda hanya ingin memilih elemen dengan [expression for variable_name in iterable if condition] 6, Anda tidak perlu memprosesnya dengan [expression for variable_name in iterable if condition] 5, sehingga Anda dapat menuliskannya sebagai berikut
[variable_name for variable_name in original_list if condition]
Hanya elemen yang memenuhi persyaratan (elemen yang mengembalikan l_square = [i**2 for i in l] print(l_square) # [25, 16, 9, 4, 1, 0, 1, 4, 9, 16, 25] l_str = [str(i) for i in l] print(l_str) # ['-5', '-4', '-3', '-2', '-1', '0', '1', '2', '3', '4', '5'] 3 untuk [expression for variable_name in iterable if condition] 6) yang diekstraksi, dan daftar baru dibuat
l_even = [i for i in l if i % 2 == 0] print(l_even) # [-4, -2, 0, 2, 4] l_minus = [i for i in l if i < 0] print(l_minus) # [-5, -4, -3, -2, -1]
sumber.
Jika [expression for variable_name in iterable if condition] _8 diubah menjadi l_square = [i**2 for i in l] print(l_square) # [25, 16, 9, 4, 1, 0, 1, 4, 9, 16, 25] l_str = [str(i) for i in l] print(l_str) # ['-5', '-4', '-3', '-2', '-1', '0', '1', '2', '3', '4', '5'] 6, hanya elemen yang tidak memenuhi kondisi (elemen yang mengembalikan l_square = [i**2 for i in l] print(l_square) # [25, 16, 9, 4, 1, 0, 1, 4, 9, 16, 25] l_str = [str(i) for i in l] print(l_str) # ['-5', '-4', '-3', '-2', '-1', '0', '1', '2', '3', '4', '5'] 7 untuk [expression for variable_name in iterable if condition] 6) yang akan diekstraksi. Ini setara dengan menghapus elemen yang memenuhi syarat
l_odd = [i for i in l if not i % 2 == 0] print(l_odd) # [-5, -3, -1, 1, 3, 5] l_plus = [i for i in l if not i < 0] print(l_plus) # [0, 1, 2, 3, 4, 5]
sumber.
Tentu saja, Anda dapat menentukan kondisi yang sesuai tanpa menggunakan l_square = [i**2 for i in l] print(l_square) # [25, 16, 9, 4, 1, 0, 1, 4, 9, 16, 25] l_str = [str(i) for i in l] print(l_str) # ['-5', '-4', '-3', '-2', '-1', '0', '1', '2', '3', '4', '5'] 9
l_odd = [i for i in l if i % 2 != 0] print(l_odd) # [-5, -3, -1, 1, 3, 5] l_plus = [i for i in l if i >= 0] print(l_plus) # [0, 1, 2, 3, 4, 5]
sumber.
Anda juga dapat menghubungkan beberapa ketentuan dengan [variable_name for variable_name in original_list if condition] _0 atau [variable_name for variable_name in original_list if condition] 1. Negasi l_square = [i**2 for i in l] print(l_square) # [25, 16, 9, 4, 1, 0, 1, 4, 9, 16, 25] l_str = [str(i) for i in l] print(l_str) # ['-5', '-4', '-3', '-2', '-1', '0', '1', '2', '3', '4', '5'] _9 juga dapat digunakan
l_minus_or_even = [i for i in l if (i < 0) or (i % 2 == 0)] print(l_minus_or_even) # [-5, -4, -3, -2, -1, 0, 2, 4] l_minus_and_odd = [i for i in l if (i < 0) and not (i % 2 == 0)] print(l_minus_and_odd) # [-5, -3, -1]
sumber.
Ganti/konversi elemen yang memenuhi kondisi dalam daftar
Jika Anda ingin mengganti atau mengonversi elemen yang memenuhi syarat tanpa mengubah elemen yang tidak memenuhi syarat, gunakan ekspresi bersyarat di bagian [expression for variable_name in iterable if condition] 5 dari daftar pemahaman
Dalam Python, ekspresi kondisional dapat ditulis sebagai berikut
X if condition else Y
[variable_name for variable_name in original_list if condition] 4 adalah nilai atau ekspresi untuk l_square = [i**2 for i in l] print(l_square) # [25, 16, 9, 4, 1, 0, 1, 4, 9, 16, 25] l_str = [str(i) for i in l] print(l_str) # ['-5', '-4', '-3', '-2', '-1', '0', '1', '2', '3', '4', '5'] 3, dan [variable_name for variable_name in original_list if condition] 6 adalah nilai atau ekspresi untuk l_square = [i**2 for i in l] print(l_square) # [25, 16, 9, 4, 1, 0, 1, 4, 9, 16, 25] l_str = [str(i) for i in l] print(l_str) # ['-5', '-4', '-3', '-2', '-1', '0', '1', '2', '3', '4', '5'] 7
- Ekspresi bersyarat dalam Python
a = 80 x = 100 if a > 50 else 0 print(x) # 100 b = 30 y = 100 if b > 50 else 0 print(y) # 0
sumber.
Gunakan pemahaman daftar dan ekspresi bersyarat
[expression for variable_name in iterable if condition] 0
Bagian yang diapit dalam tanda kurung adalah ekspresi bersyarat. Tidak diperlukan tanda kurung dalam kode aktual
[expression for variable_name in iterable if condition] 1
Jika Anda menulis [variable_name for variable_name in original_list if condition] 8 di [variable_name for variable_name in original_list if condition] 4 atau [variable_name for variable_name in original_list if condition] 6, nilai elemen asli digunakan apa adanya, dan jika Anda menulis beberapa ekspresi, ekspresi itu diterapkan