Irisan python di tengah daftar

Dalam pelajaran ini, Anda akan melihat cara mengakses elemen individual dan urutan objek dalam daftar Anda. Daftar elemen dapat diakses menggunakan indeks numerik dalam tanda kurung siku

>>> ________0______

Ini adalah teknik yang sama yang digunakan untuk mengakses karakter individu dalam sebuah string. Pengindeksan daftar juga berbasis nol

>>>

>>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

>>> a[0]
'spam'
>>> a[2]
'bacon'
>>> a[5]
'lobster'
>>> a[len(a)-1]
'lobster'
>>> a[6]
Traceback (most recent call last):
  File "<input>", line 1, in <module>
    a[6]
IndexError: list index out of range
_

Elemen daftar juga dapat diakses menggunakan indeks daftar negatif, yang dihitung dari akhir daftar

>>>

>>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

>>> a[-1]
'lobster'
>>> a[-2]
'ham'
>>> a[-5]
'egg'
>>> a[-6]
'spam'
>>> a[-len(a)]
'spam'
>>> a[-8]
Traceback (most recent call last):
  File "<input>", line 1, in <module>
    a[-8]
IndexError: list index out of range
_

Slicing adalah sintaks pengindeksan yang mengekstrak sebagian dari daftar. Jika

>>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

>>> a[0]
'spam'
>>> a[2]
'bacon'
>>> a[5]
'lobster'
>>> a[len(a)-1]
'lobster'
>>> a[6]
Traceback (most recent call last):
  File "<input>", line 1, in <module>
    a[6]
IndexError: list index out of range
_9 adalah daftar, maka
>>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

>>> a[-1]
'lobster'
>>> a[-2]
'ham'
>>> a[-5]
'egg'
>>> a[-6]
'spam'
>>> a[-len(a)]
'spam'
>>> a[-8]
Traceback (most recent call last):
  File "<input>", line 1, in <module>
    a[-8]
IndexError: list index out of range
0 mengembalikan bagian dari
>>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

>>> a[0]
'spam'
>>> a[2]
'bacon'
>>> a[5]
'lobster'
>>> a[len(a)-1]
'lobster'
>>> a[6]
Traceback (most recent call last):
  File "<input>", line 1, in <module>
    a[6]
IndexError: list index out of range
9

  • Dimulai dengan posisi
    >>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
    
    >>> a[-1]
    'lobster'
    >>> a[-2]
    'ham'
    >>> a[-5]
    'egg'
    >>> a[-6]
    'spam'
    >>> a[-len(a)]
    'spam'
    >>> a[-8]
    Traceback (most recent call last):
      File "<input>", line 1, in <module>
        a[-8]
    IndexError: list index out of range
    
    _2
  • Hingga tetapi tidak termasuk
    >>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
    
    >>> a[-1]
    'lobster'
    >>> a[-2]
    'ham'
    >>> a[-5]
    'egg'
    >>> a[-6]
    'spam'
    >>> a[-len(a)]
    'spam'
    >>> a[-8]
    Traceback (most recent call last):
      File "<input>", line 1, in <module>
        a[-8]
    IndexError: list index out of range
    
    3
  • Pengindeksan negatif juga dapat digunakan

Ini sebuah contoh

>>>

>>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a[2:5]
['bacon', 'tomato', 'ham']
>>> a[-5:-2]
['egg', 'bacon', 'tomato']
>>> a[1:4]
['egg', 'bacon', 'tomato']
>>> a[-5:-2] == a[1:4]
True
_

Menghilangkan indeks pertama dan/atau terakhir

  • Menghilangkan indeks pertama
    >>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
    
    >>> a[-1]
    'lobster'
    >>> a[-2]
    'ham'
    >>> a[-5]
    'egg'
    >>> a[-6]
    'spam'
    >>> a[-len(a)]
    'spam'
    >>> a[-8]
    Traceback (most recent call last):
      File "<input>", line 1, in <module>
        a[-8]
    IndexError: list index out of range
    
    4 akan memulai irisan di awal daftar
  • Menghilangkan indeks terakhir
    >>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
    
    >>> a[-1]
    'lobster'
    >>> a[-2]
    'ham'
    >>> a[-5]
    'egg'
    >>> a[-6]
    'spam'
    >>> a[-len(a)]
    'spam'
    >>> a[-8]
    Traceback (most recent call last):
      File "<input>", line 1, in <module>
        a[-8]
    IndexError: list index out of range
    
    _5 memperpanjang irisan dari indeks pertama
    >>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
    
    >>> a[-1]
    'lobster'
    >>> a[-2]
    'ham'
    >>> a[-5]
    'egg'
    >>> a[-6]
    'spam'
    >>> a[-len(a)]
    'spam'
    >>> a[-8]
    Traceback (most recent call last):
      File "<input>", line 1, in <module>
        a[-8]
    IndexError: list index out of range
    
    2 ke akhir daftar
  • Menghilangkan kedua indeks
    >>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
    
    >>> a[-1]
    'lobster'
    >>> a[-2]
    'ham'
    >>> a[-5]
    'egg'
    >>> a[-6]
    'spam'
    >>> a[-len(a)]
    'spam'
    >>> a[-8]
    Traceback (most recent call last):
      File "<input>", line 1, in <module>
        a[-8]
    IndexError: list index out of range
    
    _7 mengembalikan salinan seluruh daftar, tetapi tidak seperti string, ini adalah salinan, bukan referensi ke objek yang sama

Ini sebuah contoh

>>>

>>> a
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a[:4]
['spam', 'egg', 'bacon', 'tomato']
>>> a[0:4]
['spam', 'egg', 'bacon', 'tomato']
>>> a[2:]
['bacon', 'tomato', 'ham', 'lobster']
>>> a[2:len(a)]
['bacon', 'tomato', 'ham', 'lobster']

>>> a
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a[:]
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a == a[:]
True
>>> a is a[:]
False

>>> s = 'mybacon'
>>> s[:]
'mybacon'
>>> s == s[:]
True
>>> s is s[:]
True
_

Langkah dapat ditambahkan ke notasi irisan Anda. Menggunakan

>>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

>>> a[-1]
'lobster'
>>> a[-2]
'ham'
>>> a[-5]
'egg'
>>> a[-6]
'spam'
>>> a[-len(a)]
'spam'
>>> a[-8]
Traceback (most recent call last):
  File "<input>", line 1, in <module>
    a[-8]
IndexError: list index out of range
8 tambahan dan indeks ketiga menunjukkan langkah (juga disebut langkah) dalam notasi irisan Anda. Langkahnya bisa positif atau negatif

>>>

>>> a
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a[0:6:2]
['spam', 'bacon', 'ham']
>>> a[1:6:2]
['egg', 'tomato', 'lobster']
>>> a[6:0:-2]
['lobster', 'tomato', 'egg']
>>> a
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a[::-1]
['lobster', 'ham', 'tomato', 'bacon', 'egg', 'spam']
_

JulianV di

Bagus

Orlando Uribe di

Terima kasih untuk materi ini. Saya kira ada kesalahan ketik (??) di salah satu contoh tulisan stride (contoh video OK)

Kesalahan ketik

>>> a[0:6:-2]
['lobster', 'tomato, 'egg']

pernyataan yang benar seharusnya

>>> a[6:0:-2]
['lobster', 'tomato, 'egg']

sebaliknya,

>>> a[0:6:-2]
[]

Irisan python di tengah daftar

Chris Bailey Tim RP di

Hai @Orlando Uribe, Anda benar, saya akan mengubahnya agar sesuai dengan pelajaran video. terima kasih

Ajay di

@chris Video sangat informatif, terima kasih untuk ini. Ketika saya sedang berlatih contoh, ada satu keraguan

In [43]: a = [9, 1, 2, 4, 5, 6, 8]

In [44]: a[6:0:-2]
Out[44]: [8, 5, 2]

Dengan langkah negatif mengapa 9 tidak disertakan

Apakah itu mengecualikan nilai terakhir?

Irisan python di tengah daftar

Chris Bailey Tim RP di

Hai @Ajay,

Terima kasih telah menonton kursus. Irisan yang Anda buat akan dimulai pada indeks 6 dan berakhir pada indeks 1 dan tidak termasuk indeks 0, itulah sebabnya Anda tidak mendapatkan indeks 0 dari 9. Jika Anda akan menggunakan

>>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

>>> a[0]
'spam'
>>> a[2]
'bacon'
>>> a[5]
'lobster'
>>> a[len(a)-1]
'lobster'
>>> a[6]
Traceback (most recent call last):
  File "<input>", line 1, in <module>
    a[6]
IndexError: list index out of range
_0

Itu akan termasuk indeks 0. Saya harap ini membantu menjelaskan apa yang terjadi. Mengulangi dari teks di bawah pelajaran

Slicing adalah sintaks pengindeksan yang mengekstrak sebagian dari daftar. Jika

>>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

>>> a[0]
'spam'
>>> a[2]
'bacon'
>>> a[5]
'lobster'
>>> a[len(a)-1]
'lobster'
>>> a[6]
Traceback (most recent call last):
  File "<input>", line 1, in <module>
    a[6]
IndexError: list index out of range
_9 adalah daftar, maka
>>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

>>> a[-1]
'lobster'
>>> a[-2]
'ham'
>>> a[-5]
'egg'
>>> a[-6]
'spam'
>>> a[-len(a)]
'spam'
>>> a[-8]
Traceback (most recent call last):
  File "<input>", line 1, in <module>
    a[-8]
IndexError: list index out of range
0 mengembalikan bagian dari
>>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

>>> a[0]
'spam'
>>> a[2]
'bacon'
>>> a[5]
'lobster'
>>> a[len(a)-1]
'lobster'
>>> a[6]
Traceback (most recent call last):
  File "<input>", line 1, in <module>
    a[6]
IndexError: list index out of range
9

  • Dimulai dengan posisi
    >>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
    
    >>> a[-1]
    'lobster'
    >>> a[-2]
    'ham'
    >>> a[-5]
    'egg'
    >>> a[-6]
    'spam'
    >>> a[-len(a)]
    'spam'
    >>> a[-8]
    Traceback (most recent call last):
      File "<input>", line 1, in <module>
        a[-8]
    IndexError: list index out of range
    
    _2
  • Hingga tetapi tidak termasuk
    >>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
    
    >>> a[-1]
    'lobster'
    >>> a[-2]
    'ham'
    >>> a[-5]
    'egg'
    >>> a[-6]
    'spam'
    >>> a[-len(a)]
    'spam'
    >>> a[-8]
    Traceback (most recent call last):
      File "<input>", line 1, in <module>
        a[-8]
    IndexError: list index out of range
    
    3

Ajay di

@chris terima kasih untuk klarifikasi

kiran di

>>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

>>> a[0]
'spam'
>>> a[2]
'bacon'
>>> a[5]
'lobster'
>>> a[len(a)-1]
'lobster'
>>> a[6]
Traceback (most recent call last):
  File "<input>", line 1, in <module>
    a[6]
IndexError: list index out of range
_1

Mengapa mengembalikan string kosong? . Bisakah Anda memberi saya kejelasan terbaik tentang ini?

>>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

>>> a[0]
'spam'
>>> a[2]
'bacon'
>>> a[5]
'lobster'
>>> a[len(a)-1]
'lobster'
>>> a[6]
Traceback (most recent call last):
  File "<input>", line 1, in <module>
    a[6]
IndexError: list index out of range
_2

kiran di

Nilainya adalah

In [43]: a = [9, 1, 2, 4, 5, 6, 8]

In [44]: a[6:0:-2]
Out[44]: [8, 5, 2]
_9

Irisan python di tengah daftar

Bartosz Zaczyński Tim RP di

Pikirkan indeks negatif sebagai notasi steno untuk mengurangkan dari panjang string yang diberikan

>>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

>>> a[0]
'spam'
>>> a[2]
'bacon'
>>> a[5]
'lobster'
>>> a[len(a)-1]
'lobster'
>>> a[6]
Traceback (most recent call last):
  File "<input>", line 1, in <module>
    a[6]
IndexError: list index out of range
_3

Indeks negatif dalam contoh "halo dunia" Anda akan diterjemahkan menjadi ini

>>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

>>> a[0]
'spam'
>>> a[2]
'bacon'
>>> a[5]
'lobster'
>>> a[len(a)-1]
'lobster'
>>> a[6]
Traceback (most recent call last):
  File "<input>", line 1, in <module>
    a[6]
IndexError: list index out of range
_4

Anda mendapatkan string kosong karena indeks kiri lebih tinggi dari kanan, sementara Anda belum menunjukkan urutan terbalik dengan argumen "langkah" ketiga. Jika Anda melakukannya, inilah yang akan Anda dapatkan

>>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

>>> a[0]
'spam'
>>> a[2]
'bacon'
>>> a[5]
'lobster'
>>> a[len(a)-1]
'lobster'
>>> a[6]
Traceback (most recent call last):
  File "<input>", line 1, in <module>
    a[6]
IndexError: list index out of range
_5

Anda bisa mendapatkan hasil indeks yang digunakan oleh loop yang mendasarinya seperti ini

>>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

>>> a[0]
'spam'
>>> a[2]
'bacon'
>>> a[5]
'lobster'
>>> a[len(a)-1]
'lobster'
>>> a[6]
Traceback (most recent call last):
  File "<input>", line 1, in <module>
    a[6]
IndexError: list index out of range
_6

Ini mengembalikan tuple yang dapat Anda bongkar dan teruskan ke fungsi

>>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

>>> a[0]
'spam'
>>> a[2]
'bacon'
>>> a[5]
'lobster'
>>> a[len(a)-1]
'lobster'
>>> a[6]
Traceback (most recent call last):
  File "<input>", line 1, in <module>
    a[6]
IndexError: list index out of range
00

>>> a = ['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']
>>> a
['spam', 'egg', 'bacon', 'tomato', 'ham', 'lobster']

>>> a[0]
'spam'
>>> a[2]
'bacon'
>>> a[5]
'lobster'
>>> a[len(a)-1]
'lobster'
>>> a[6]
Traceback (most recent call last):
  File "<input>", line 1, in <module>
    a[6]
IndexError: list index out of range
_7

Ini adalah indeks yang digunakan oleh sintaks braket persegi

kiran di

Cemerlang @Bartosz Zaczyński. terima kasih

bulan pada

Saya dengan senang hati mulai menggunakan bpython; . Mencoba semua hal. Dan banyak lagi. ) Melakukan itu saya mengalami ini

Bagaimana Anda mengiris daftar di tengah dengan Python?

Kasus 1. membagi daftar menjadi dua menggunakan python .
Dapatkan panjang daftar menggunakan fungsi len()
Jika panjang bagian tidak diberikan, bagi panjang daftar dengan 2 menggunakan operator lantai untuk mendapatkan indeks tengah daftar
Iris daftar menjadi dua bagian menggunakan [. middle_index] dan [middle_index. ]

Bagaimana cara menghapus elemen tengah dari daftar?

Ada tiga cara di mana Anda dapat Menghapus elemen dari Daftar. .
Menggunakan metode hapus()
Menggunakan metode pop() objek daftar
Menggunakan operator del

Bagaimana Anda memotong sebagian dari daftar dengan Python?

Dengan Python, dengan menggunakan sebuah slice (e. g. [2. 5. 2] ), Anda dapat mengekstrak urutan dari objek urutan, seperti daftar, string, tuple, dll.

Bisakah kita melakukan pemotongan dalam daftar?

Serta menggunakan slicing untuk mengekstrak bagian dari daftar (mis. e. irisan di sebelah kanan tanda sama dengan), Anda dapat mengatur nilai elemen dalam daftar dengan menggunakan irisan di sisi kiri tanda sama dengan. In python terminology, this is because lists are mutable objects, while strings are immutable.