Bagaimana Anda mengiris daftar berdasarkan nilai dengan python?

Menggunakan metode membagi dua dapat mengiris daftar berdasarkan nilai dengan Python. Python dengan mudah memiliki modul membagi dua sebagai bagian dari perpustakaan standar

Daftar irisan python dengan contoh nilai

Kode contoh sederhana mengiris daftar berdasarkan nilai

import bisect

data = [1, 3, 5, 6, 8, 9, 11, 13, 17]
value = 9

pos = bisect.bisect_right(data, value)

res = data[:pos]
print(res)

Keluaran

Bagaimana Anda mengiris daftar berdasarkan nilai dengan python?

Contoh lain menggunakan pernyataan if

v = 5
l = [1, 3, 5, 8, 9, 11, 13, 17]
if v in l:
    # do stuff
    print(l[:l.index(v)])
_

Keluaran. [1, 3]

Berikan komentar jika Anda memiliki keraguan dan saran tentang topik irisan Python ini

Catatan. IDE. PyCharm 2021. 3. 3 (Edisi Komunitas)

Windows 10

Piton 3. 10. 1

Semua Contoh Python ada di Python 3, jadi Mungkin berbeda dari python 2 atau versi yang ditingkatkan

Bagaimana Anda mengiris daftar berdasarkan nilai dengan python?

Rohit

Gelar dalam Ilmu Komputer dan Insinyur. Pengembang Aplikasi dan memiliki banyak pengalaman bahasa Pemrograman. Antusias terhadap teknologi & suka belajar teknis

Untuk mengakses berbagai item dalam daftar, Anda perlu mengiris daftar. Salah satu cara untuk melakukannya adalah dengan menggunakan operator pengiris sederhana

L = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
print(L[-7:-2])
# Prints ['c', 'd', 'e', 'f', 'g']
5

Dengan operator ini Anda dapat menentukan di mana memulai pemotongan, di mana mengakhiri dan menentukan langkahnya

Mengiris Daftar

Jika L adalah daftar, ekspresi L [ mulai. berhenti. langkah ] mengembalikan bagian daftar dari indeks mulai ke indeks berhenti . step.

Sintaksis

Bagaimana Anda mengiris daftar berdasarkan nilai dengan python?

Contoh Dasar

Berikut adalah contoh dasar pemotongan daftar

L = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
print(L[2:7])
# Prints ['c', 'd', 'e', 'f', 'g']

Bagaimana Anda mengiris daftar berdasarkan nilai dengan python?

Perhatikan bahwa item pada indeks 7

L = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
print(L[-7:-2])
# Prints ['c', 'd', 'e', 'f', 'g']
6 tidak disertakan

Iris dengan Indeks Negatif

Anda juga dapat menentukan indeks negatif saat mengiris daftar

L = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
print(L[-7:-2])
# Prints ['c', 'd', 'e', 'f', 'g']

Bagaimana Anda mengiris daftar berdasarkan nilai dengan python?

Iris dengan Indeks Positif & Negatif

Anda dapat menentukan indeks positif dan negatif secara bersamaan

L = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
print(L[2:-5])
# Prints ['c', 'd']
_

Tentukan Langkah Pemotongan

Anda dapat menentukan langkah pemotongan menggunakan parameter langkah . Parameter langkah adalah opsional dan secara default 1.

# Return every 2nd item between position 2 to 7
L = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
print(L[2:7:2])
# Prints ['c', 'e', 'g']

Bagaimana Anda mengiris daftar berdasarkan nilai dengan python?

Ukuran Langkah Negatif

Anda bahkan dapat menentukan ukuran langkah negatif

# Return every 2nd item between position 6 to 1
L = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
print(L[6:1:-2])
# Prints ['g', 'e', 'c']
_

Iris di Awal & Akhir

Menghilangkan indeks mulai memulai irisan dari indeks 0. Artinya, 

L = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
print(L[-7:-2])
# Prints ['c', 'd', 'e', 'f', 'g']
_7 setara dengan 
L = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
print(L[-7:-2])
# Prints ['c', 'd', 'e', 'f', 'g']
8

# Slice the first three items from the list
L = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
print(L[:3])
# Prints ['a', 'b', 'c']

Sedangkan, menghilangkan indeks stop akan memperluas irisan ke akhir daftar. Artinya,

L = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
print(L[-7:-2])
# Prints ['c', 'd', 'e', 'f', 'g']
_9 sama dengan 
L = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
print(L[2:-5])
# Prints ['c', 'd']
0

# Slice the last three items from the list
L = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
print(L[6:])
# Prints ['g', 'h', 'i']

Membalikkan Daftar

Anda dapat membalikkan daftar dengan menghilangkan start dan stop indices and specifying a step as -1.

L = ['a', 'b', 'c', 'd', 'e']
print(L[::-1])
# Prints ['e', 'd', 'c', 'b', 'a']

Ubah Beberapa Nilai Daftar

Anda dapat mengubah beberapa item daftar sekaligus dengan tugas irisan. Penugasan ini menggantikan potongan tertentu dari daftar dengan item yang ditugaskan iterable

# Modify multiple list items
L = ['a', 'b', 'c', 'd', 'e']
L[1:4] = [1, 2, 3]
print(L)
# Prints ['a', 1, 2, 3, 'e']

# Replace multiple elements in place of a single element
L = ['a', 'b', 'c', 'd', 'e']
L[1:2] = [1, 2, 3]
print(L)
# Prints ['a', 1, 2, 3, 'c', 'd', 'e']

Sisipkan Beberapa Item Daftar

Anda dapat memasukkan item ke dalam daftar tanpa mengganti apa pun. Cukup tentukan irisan dengan panjang nol

L = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
print(L[-7:-2])
# Prints ['c', 'd', 'e', 'f', 'g']
0

Anda dapat menyisipkan item ke tengah daftar dengan mempertahankan start dan stop indices of the slice same.

L = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
print(L[-7:-2])
# Prints ['c', 'd', 'e', 'f', 'g']
1

Hapus Beberapa Item Daftar

Anda dapat menghapus banyak item dari tengah daftar dengan menugaskan irisan yang sesuai ke daftar kosong

L = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
print(L[-7:-2])
# Prints ['c', 'd', 'e', 'f', 'g']
2

Anda juga dapat menggunakan pernyataan del dengan irisan yang sama

L = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
print(L[-7:-2])
# Prints ['c', 'd', 'e', 'f', 'g']
_3

Kloning atau Salin Daftar

Saat Anda menjalankan

L = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
print(L[2:-5])
# Prints ['c', 'd']
_1, Anda sebenarnya tidak memiliki dua daftar. Tugas hanya menyalin referensi ke daftar, bukan daftar yang sebenarnya. Jadi,
L = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
print(L[2:-5])
# Prints ['c', 'd']
2 dan
L = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
print(L[2:-5])
# Prints ['c', 'd']
3 mengacu pada daftar yang sama setelah penugasan

Bagaimana Anda mengiris daftar dengan Python?

List slicing bekerja mirip dengan fungsi Python slice(). .
start adalah indeks dari daftar tempat pemotongan dimulai
stop adalah indeks dari daftar tempat pemotongan berakhir
langkah memungkinkan Anda untuk memilih item ke-n dalam rentang mulai berhenti

Bagaimana Anda memangkas daftar berdasarkan nilai dengan Python?

Metode hapus() adalah salah satu cara untuk menghapus elemen dari daftar dengan Python. Metode remove() menghapus item dari daftar berdasarkan nilainya dan bukan berdasarkan nomor indeksnya.

Bagaimana Anda mengiris nilai dengan Python?

Python slice() Fungsi . Objek irisan digunakan untuk menentukan cara mengiris urutan. Anda dapat menentukan di mana memulai pemotongan, dan di mana harus mengakhiri. Anda juga dapat menentukan langkahnya, yang memungkinkan Anda untuk e. g. iris hanya setiap item lainnya. The slice() function returns a slice object. A slice object is used to specify how to slice a sequence. You can specify where to start the slicing, and where to end. You can also specify the step, which allows you to e.g. slice only every other item.

Apakah mengiris dimungkinkan dalam daftar dengan Python?

Seperti disebutkan sebelumnya pengirisan daftar adalah praktik umum dalam Python dan dapat digunakan baik dengan indeks positif maupun indeks negatif.