Python mendapatkan semua elemen dari array

Mari kita mulai dengan mencatat bahwa asumsi utama yang akan kita buat sepanjang artikel ini adalah bahwa tujuannya adalah untuk mendapatkan elemen sebagai nilai, bukan untuk menghitungnya – tetapi mengembalikan daftar dengan nilai yang sesuai. Daftar adalah salah satu struktur data yang paling umum digunakan dalam Python dan dibuat menggunakan tanda kurung siku

list2 = [item for item in list1 if item > 7]
print(list2)
# [22, 34, 44, 88, 7.5, 105, 333]
5. Mereka didefinisikan sebagai yang dipesan, dapat diubah (atau dapat diubah), dan memungkinkan nilai duplikat. Nilai yang menyusun daftar disebut elemennya, atau itemnya

Untuk memulai, kita bisa membuat daftar. Karena kita akan bekerja untuk menemukan elemen yang lebih besar dari nilai tertentu, kita akan membuat daftar dengan angka saja – baik bilangan bulat (bilangan bulat) dan float (tempat desimal)

list1 = [22, 34, 44, 88, 2, 1, 7.5, 105, 333, 7]
_

Metode 1. Daftar Pemahaman

Bisa dibilang cara paling mudah memfilter daftar kami adalah dengan pemahaman daftar. Ini akan melibatkan kode sederhana untuk mengulangi setiap elemen dan membandingkannya dengan nilai yang diberikan. Misalnya, dengan asumsi kita hanya menginginkan daftar yang berisi elemen, atau item, dengan nilai lebih besar dari 7, sintaks kita akan menjadi

list2 = [item for item in list1 if item > 7]
print(list2)
# [22, 34, 44, 88, 7.5, 105, 333]

Dalam contoh di atas, kami telah meminta Python untuk mengulangi setiap item di

list2 = [item for item in list1 if item > 7]
print(list2)
# [22, 34, 44, 88, 7.5, 105, 333]
6 dan mengembalikan daftar baru (
list2 = [item for item in list1 if item > 7]
print(list2)
# [22, 34, 44, 88, 7.5, 105, 333]
7) dari semua item yang lebih besar dari 7

Kami juga dapat mengurutkan daftar baru jika perlu

list2.sort()
print(list2)
# [7.5, 22, 34, 44, 88, 105, 333]

Metode 2. Fungsi Penyaring

Sebagai alternatif untuk memahami daftar, kita dapat menggunakan fungsi

list2 = [item for item in list1 if item > 7]
print(list2)
# [22, 34, 44, 88, 7.5, 105, 333]
8 bawaan

Saring dengan lambda

Sebagai pengingat, fungsi lambda didefinisikan sebagai fungsi anonim kecil (mis. e. , tidak memiliki nama) yang dapat menggunakan sejumlah argumen tetapi hanya dapat memiliki satu ekspresi

list3 = filter(lambda x: x > 7, list1)

Dalam kode, kami menggunakan fungsi filter kami untuk mengekstrak nilai (

list2 = [item for item in list1 if item > 7]
print(list2)
# [22, 34, 44, 88, 7.5, 105, 333]
9) dari
list2 = [item for item in list1 if item > 7]
print(list2)
# [22, 34, 44, 88, 7.5, 105, 333]
6 kami jika
list2 = [item for item in list1 if item > 7]
print(list2)
# [22, 34, 44, 88, 7.5, 105, 333]
9 lebih besar dari 7. Jadi sekarang jika kita memanggil
list2.sort()
print(list2)
# [7.5, 22, 34, 44, 88, 105, 333]
_2 kita, kita dapatkan

print(list3)
# <filter at 0x7f11302ef5d0>

Mungkin bukan yang Anda harapkan. Ini karena di Python versi 3 ke atas fungsi

list2.sort()
print(list2)
# [7.5, 22, 34, 44, 88, 105, 333]
3 mengembalikan objek, dan sintaks di atas mewakili ID objek di memori bukan nilainya. Karena kita menginginkan nilai aktual dari daftar, kita harus memanggil objek sebagai daftar itu sendiri

print(list(list3))
# [22, 34, 44, 88, 7.5, 105, 333]

Sementara kita memiliki keluaran yang kita inginkan, hal penting yang harus diperhatikan adalah bahwa fungsi filter tidak menyimpan nilai apa pun di memori. Oleh karena itu, jika kita memanggil kembali daftar itu akan kembali kosong

print(list(list3))
# []

Jadi, jika kita perlu memanggil daftar lagi – sebagai daftar yang diurutkan, misalnya, kita perlu menjalankan fungsi lambda sekali lagi

list3 = filter(lambda x: x > 7, list1)
print(list(sorted(list3)))
# [7.5, 22, 34, 44, 88, 105, 333]

Saring tanpa lambda

Sebagai alternatif lambda, kita juga dapat menggunakan

list2.sort()
print(list2)
# [7.5, 22, 34, 44, 88, 105, 333]
3 dengan salah satu fungsi khusus Python yang menggantikan operator pembanding kita i. e. , kurang dari
list2.sort()
print(list2)
# [7.5, 22, 34, 44, 88, 105, 333]
_5, lebih besar dari
list2.sort()
print(list2)
# [7.5, 22, 34, 44, 88, 105, 333]
6 dll. Fungsi khusus ini ditentukan oleh garis bawah ganda (
list2.sort()
print(list2)
# [7.5, 22, 34, 44, 88, 105, 333]
7 ) — itulah mengapa mereka disebut metode dunder

Jika kami ingin membuat daftar semua item yang lebih besar dari 7, kami perlu mendapatkan fungsi untuk memfilter atau menghapus item yang kurang dari 7, sebagai berikut

list4 = filter((7).__lt__, list1)
print(list4)
# <filter at 0x7f0d8c6b5650>

Dalam kode di atas sintaks

list2.sort()
print(list2)
# [7.5, 22, 34, 44, 88, 105, 333]
8 setara dengan
list2.sort()
print(list2)
# [7.5, 22, 34, 44, 88, 105, 333]
5 atau kurang dari, jadi kami membuat objek bernama
list3 = filter(lambda x: x > 7, list1)
0 yang menyaring angka kurang dari 7 dari
list2 = [item for item in list1 if item > 7]
print(list2)
# [22, 34, 44, 88, 7.5, 105, 333]
6. Seperti halnya lambda saat kita menggunakan
list2.sort()
print(list2)
# [7.5, 22, 34, 44, 88, 105, 333]
3, kita mendapatkan objek yang dikembalikan sehingga kita perlu memanggil nilai sebagai daftar

print(list(list4))
# [22, 34, 44, 88, 7.5, 105, 333]

Karena metode ini masih menggunakan fungsi

list2.sort()
print(list2)
# [7.5, 22, 34, 44, 88, 105, 333]
_3, nilainya tidak disimpan di memori, jadi jika kita memanggil daftar lagi, hasilnya akan kosong

list2 = [item for item in list1 if item > 7]
print(list2)
# [22, 34, 44, 88, 7.5, 105, 333]
0

Untuk mendapatkan daftar lagi, kali ini diurutkan, kita perlu menjalankan fungsi sekali lagi tetapi kali ini kita hanya dapat meminta nilai yang diurutkan

list2 = [item for item in list1 if item > 7]
print(list2)
# [22, 34, 44, 88, 7.5, 105, 333]
_1

Metode 3. Menggunakan NumPy

Opsi terakhir adalah menggunakan modul NumPy untuk mencapai tujuan kita, tetapi bergantung pada sifat daftar awal kita, ini mungkin sedikit berlebihan.

Proses ini sedikit lebih rumit karena kita perlu mengimpor modul NumPy dan kemudian mengonversi daftar kita menjadi array seperti berikut

list2 = [item for item in list1 if item > 7]
print(list2)
# [22, 34, 44, 88, 7.5, 105, 333]
_2

Satu hal yang perlu diperhatikan adalah bahwa nilai integer telah secara otomatis diubah menjadi float ketika array dibuat. Setelah kita memiliki

list2 = [item for item in list1 if item > 7]
print(list2)
# [22, 34, 44, 88, 7.5, 105, 333]
6 sebagai larik NumPy, kita dapat menjalankan beberapa kode sederhana untuk mengulangi larik kita dan mengembalikan semua nilai dalam larik yang lebih besar dari 7. Kami juga dapat mengurutkan array pengembalian secara langsung menggunakan
list3 = filter(lambda x: x > 7, list1)
5.  

list2 = [item for item in list1 if item > 7]
print(list2)
# [22, 34, 44, 88, 7.5, 105, 333]
_3

Sekarang setelah kita memiliki nilai terurut yang benar, langkah terakhir adalah mengonversinya kembali ke daftar menggunakan metode

list3 = filter(lambda x: x > 7, list1)
6

list2 = [item for item in list1 if item > 7]
print(list2)
# [22, 34, 44, 88, 7.5, 105, 333]
_4

Kesimpulan

Pada artikel ini kita telah melihat berbagai cara untuk mendapatkan elemen dalam daftar di atas nilai tertentu, dan sekali lagi Python telah menunjukkan kepada kita bahwa ada beberapa cara untuk mencapainya.

Secara pribadi, saya menemukan metode pemahaman daftar yang paling berguna karena sederhana dan melakukan apa yang diperlukan. Namun, kami telah menggunakan kumpulan data dasar dan kecil dalam contoh kami sehingga saya dapat menghargai bahwa jika Anda menggunakan data dalam jumlah besar menggunakan NumPy mungkin lebih tepat karena modul dirancang untuk menangani data yang lebih kompleks

Sementara fungsi

list2.sort()
print(list2)
# [7.5, 22, 34, 44, 88, 105, 333]
3 memang memberikan hasil yang sama, fakta bahwa ia mengembalikan objek daripada nilai daftar, berarti kita harus menjalankan kembali fungsi setiap kali kita menginginkan nilai. Bergantung pada aplikasinya, ini mungkin tidak praktis

Bagaimana Anda mengakses semua elemen array dengan Python?

Kita dapat mengakses elemen array menggunakan operator indeks [] . Yang perlu Anda lakukan untuk mengakses elemen tertentu adalah memanggil array yang Anda buat. Di samping array adalah operator indeks [], yang akan memiliki nilai posisi indeks elemen tertentu dari array yang diberikan.

Bagaimana Anda mencetak semua item dalam array Python?

Kita bisa langsung meneruskan nama array(list) yang berisi nilai yang akan dicetak ke metode print() dengan Python untuk mencetak yang sama

Bagaimana cara mengeluarkan semua elemen dari daftar dengan Python?

5 Cara Mudah Mengekstrak Elemen Dari Daftar Python .
Ekstrak Elemen Dari Daftar Python Menggunakan Index. .
Mencetak Item Dari Daftar Menggunakan Enumerate. .
Menggunakan Loop untuk Mengekstrak Elemen Daftar. .
Menggunakan Numpy Untuk Melihat Item Dari Daftar. .
Ekstrak Elemen Menggunakan fungsi indeks

Bagaimana cara mencetak semua nilai dalam array NumPy?

Langkah 1 - Impor perpustakaan. impor numpy sebagai np import sys
Langkah 2 - Ambil Contoh array. Sample_array_1 = np. arange(1001) cetak(Sample_array_1) [ 0 1 2. 998 999 1000].
Langkah 3 - Cetak Hasil Akhir Sample_array_2 = np. rentang(100) np. set_printoptions(threshold=sys