Jika saya punya array string, dapatkah saya memeriksa apakah string ada di array tanpa melakukan for
loop? Secara khusus, saya mencari cara untuk melakukannya dalam sebuah if
pernyataan, jadi kira-kira seperti ini:
if [check that item is in array]:
Jawaban:
Dengan asumsi Anda maksud "daftar" di mana Anda mengatakan "array", Anda dapat melakukannya
Ini berfungsi untuk koleksi apa pun, tidak hanya untuk daftar. Untuk kamus, memeriksa apakah kunci yang diberikan ada dalam kamus.
sumber
Saya juga akan menganggap bahwa maksud Anda "daftar" ketika Anda mengatakan "array." Solusi Sven Marnach baik. Jika Anda akan melakukan pemeriksaan berulang pada daftar, maka mungkin layak untuk mengubahnya menjadi satu set atau frozenset, yang bisa lebih cepat untuk setiap pemeriksaan. Dengan asumsi daftar str Anda disebut
subjects
:sumber
Gunakan fungsi lambda.
Katakanlah Anda memiliki array:
Periksa apakah 5 ada di
nums
:Solusi ini lebih kuat. Anda sekarang dapat memeriksa apakah nomor yang memenuhi kondisi tertentu ada di array Anda
nums
.Misalnya, periksa apakah nomor yang lebih besar atau sama dengan 5 ada di
nums
:sumber
TypeError: object of type 'filter' has no len()
Anda harus menggunakan nilai. Untuk array. misalnya katakan Anda memiliki kerangka data yang memiliki nama kolom yaitu, uji ['Nama'], Anda dapat melakukannya
untuk daftar normal, Anda tidak perlu menggunakan nilai
sumber
Anda juga bisa menggunakan sintaks yang sama untuk array. Misalnya, mencari di dalam seri Pandas:
sumber