Apakah Anda menyelam lebih dalam ke daftar Python dan ingin belajar tentang berbagai cara untuk membalikkannya? . Di sini, Anda akan belajar tentang beberapa alat dan teknik Python yang berguna untuk membalik daftar atau memanipulasinya dalam urutan terbalik. Pengetahuan ini akan melengkapi dan meningkatkan keterampilan terkait daftar Anda dan membuat Anda lebih mahir dengannya
Dalam tutorial ini, Anda akan mempelajari caranya
- Balikkan daftar yang ada menggunakan
0 dan teknik lainnya>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> for i in range[len[digits]]: .. last_item = digits.pop[] .. digits.insert[i, last_item] ... >>> digits [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
- Buat salinan terbalik dari daftar yang ada menggunakan
1 dan mengiris>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> for i in range[len[digits]]: .. last_item = digits.pop[] .. digits.insert[i, last_item] ... >>> digits [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
- Gunakan iterasi, pemahaman, dan rekursi untuk membuat daftar terbalik
- Ulangi daftar Anda dalam urutan terbalik
- Urutkan daftar Anda dalam urutan terbalik menggunakan
2 dan>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> for i in range[len[digits]]: .. last_item = digits.pop[] .. digits.insert[i, last_item] ... >>> digits [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
3>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> for i in range[len[digits]]: .. last_item = digits.pop[] .. digits.insert[i, last_item] ... >>> digits [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
Untuk mendapatkan hasil maksimal dari tutorial ini, akan sangat membantu untuk mengetahui dasar-dasar ,
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
4 loop, daftar, pemahaman daftar, , dan rekursiBonus Gratis. Klik di sini untuk mendapatkan Cheat Sheet Python dan mempelajari dasar-dasar Python 3, seperti bekerja dengan tipe data, kamus, daftar, dan fungsi Python
Membalikkan Daftar Python
Terkadang Anda perlu memproses daftar Python mulai dari elemen terakhir hingga elemen pertama—dengan kata lain, dalam urutan terbalik. Secara umum, ada dua tantangan utama terkait bekerja dengan daftar secara terbalik
- Membalik daftar di tempat
- Membuat salinan terbalik dari daftar yang ada
Untuk memenuhi tantangan pertama, Anda dapat menggunakan
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
0 atau loop yang menukar item berdasarkan indeks. Untuk yang kedua, Anda dapat menggunakan atau a. Di bagian selanjutnya, Anda akan mempelajari berbagai cara untuk mencapai keduanya dalam kode AndaHilangkan iklanMembalikkan Daftar di Tempat
Seperti tipe lainnya, daftar Python mengimplementasikan
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
0. Metode ini membalikkan daftar yang mendasari untuk efisiensi memori saat Anda membalikkan objek daftar besar. Inilah cara Anda dapat menggunakan >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
0>>>
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> digits.reverse[]
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
_Saat Anda memanggil
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
0 pada daftar yang sudah ada, metode membalikkannya pada tempatnya. Dengan cara ini, saat Anda mengakses daftar lagi, Anda mendapatkannya dalam urutan terbalik. Perhatikan bahwa >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
0 tidak mengembalikan daftar baru tetapi >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = reversed[digits]
>>> reversed_digits
>>> list[reversed_digits]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
1>>>
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
_Mencoba menetapkan nilai pengembalian
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
0 ke variabel adalah kesalahan umum yang terkait dengan penggunaan metode ini. Maksud mengembalikan >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = reversed[digits]
>>> reversed_digits
>>> list[reversed_digits]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
1 adalah untuk mengingatkan penggunanya bahwa >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
0 beroperasi dengan efek samping, mengubah daftar yang mendasarinyaCatatan. Sebagian besar contoh dalam tutorial ini menggunakan daftar angka sebagai masukan. Namun, alat dan teknik yang sama berlaku untuk semua jenis objek Python, seperti daftar string
Oke. Itu cepat dan mudah. Sekarang, bagaimana Anda bisa membalikkan daftar dengan tangan?
Python menyediakan indeks positif berbasis nol untuk menjalankan urutan dari kiri ke kanan. Ini juga memungkinkan Anda menavigasi urutan dari kanan ke kiri menggunakan indeks negatif
Diagram ini menunjukkan bahwa Anda dapat mengakses elemen pertama dari daftar [atau urutan] menggunakan
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = reversed[digits]
>>> reversed_digits
>>> list[reversed_digits]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
5 atau >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = reversed[digits]
>>> reversed_digits
>>> list[reversed_digits]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
6 dengan operator pengindeksan, seperti di >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = reversed[digits]
>>> reversed_digits
>>> list[reversed_digits]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
7 dan >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = reversed[digits]
>>> reversed_digits
>>> list[reversed_digits]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
8, masing-masing. Anda dapat menggunakan fitur Python ini untuk membalikkan urutan yang mendasarinyaMisalnya, untuk membalikkan daftar yang direpresentasikan dalam diagram, Anda dapat mengulang paruh pertama daftar dan menukar elemen pada indeks
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = reversed[digits]
>>> reversed_digits
>>> list[reversed_digits]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
5 dengan cerminnya pada indeks >>> fruits = ["apple", "banana", "orange"]
>>> reversed_fruit = reversed[fruits] # Get the iterator
>>> fruits[-1] = "kiwi" # Modify the last item
>>> next[reversed_fruit] # The iterator sees the change
'kiwi'
0 di iterasi pertama. Kemudian Anda dapat mengganti elemen pada indeks >>> fruits = ["apple", "banana", "orange"]
>>> reversed_fruit = reversed[fruits] # Get the iterator
>>> fruits[-1] = "kiwi" # Modify the last item
>>> next[reversed_fruit] # The iterator sees the change
'kiwi'
1 dengan cerminnya pada indeks >>> fruits = ["apple", "banana", "orange"]
>>> reversed_fruit = reversed[fruits] # Get the iterator
>>> fruits[-1] = "kiwi" # Modify the last item
>>> next[reversed_fruit] # The iterator sees the change
'kiwi'
2 dan seterusnya sampai Anda mendapatkan daftar terbalikInilah representasi dari keseluruhan proses
Untuk menerjemahkan proses ini ke dalam kode, Anda dapat menggunakan loop
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
4 dengan objek >>> fruits = ["apple", "banana", "orange"]
>>> reversed_fruit = reversed[fruits] # Get the iterator
>>> fruits[-1] = "kiwi" # Modify the last item
>>> next[reversed_fruit] # The iterator sees the change
'kiwi'
4 pada paruh pertama daftar, yang dapat Anda peroleh dengan >>> fruits = ["apple", "banana", "orange"]
>>> reversed_fruit = reversed[fruits] # Get the iterator
>>> fruits[-1] = "kiwi" # Modify the last item
>>> next[reversed_fruit] # The iterator sees the change
'kiwi'
5. Kemudian Anda dapat menggunakan pernyataan penugasan paralel untuk menukar elemen, seperti ini>>>
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits] // 2]:
.. digits[i], digits[-1 - i] = digits[-1 - i], digits[i]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
_Perulangan ini berulang melalui objek
>>> fruits = ["apple", "banana", "orange"]
>>> reversed_fruit = reversed[fruits] # Get the iterator
>>> fruits[-1] = "kiwi" # Modify the last item
>>> next[reversed_fruit] # The iterator sees the change
'kiwi'
_4 yang beralih dari >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = reversed[digits]
>>> reversed_digits
>>> list[reversed_digits]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
5 ke >>> fruits = ["apple", "banana", "orange"]
>>> reversed_fruit = reversed[fruits] # Get the iterator
>>> fruits[-1] = "kiwi" # Modify the last item
>>> next[reversed_fruit] # The iterator sees the change
'kiwi'
5. Setiap iterasi menukar item dari paruh pertama daftar dengan pasangan cerminnya di paruh kedua. Ekspresi >>> fruits = ["apple", "banana", "orange"]
>>> reversed_fruit = reversed[fruits] # Get the iterator
>>> fruits[-1] = "kiwi" # Modify the last item
>>> next[reversed_fruit] # The iterator sees the change
'kiwi'
_9 di dalam operator pengindeksan, >>> fruits = ["apple", "banana", "orange"]
>>> list[reversed[fruits]]
['orange', 'banana', 'apple']
0, menjamin akses ke item cermin. Anda juga dapat menggunakan ekspresi >>> fruits = ["apple", "banana", "orange"]
>>> list[reversed[fruits]]
['orange', 'banana', 'apple']
1 untuk memberikan indeks cermin yang sesuaiSelain algoritme di atas, yang memanfaatkan substitusi indeks, ada beberapa cara berbeda untuk membalikkan daftar secara manual. Misalnya, Anda dapat menggunakan
>>> fruits = ["apple", "banana", "orange"]
>>> list[reversed[fruits]]
['orange', 'banana', 'apple']
_2 dan >>> fruits = ["apple", "banana", "orange"]
>>> list[reversed[fruits]]
['orange', 'banana', 'apple']
3 seperti ini>>> ________0______
Dalam pengulangan, Anda memanggil
>>> fruits = ["apple", "banana", "orange"]
>>> list[reversed[fruits]]
['orange', 'banana', 'apple']
_2 pada daftar asli tanpa argumen. Panggilan ini menghapus dan mengembalikan item terakhir dalam daftar, sehingga Anda dapat menyimpannya di >>> fruits = ["apple", "banana", "orange"]
>>> list[reversed[fruits]]
['orange', 'banana', 'apple']
5. Kemudian >>> fruits = ["apple", "banana", "orange"]
>>> list[reversed[fruits]]
['orange', 'banana', 'apple']
_3 memindahkan >>> fruits = ["apple", "banana", "orange"]
>>> list[reversed[fruits]]
['orange', 'banana', 'apple']
5 ke posisi di indeks >>> fruits = ["apple", "banana", "orange"]
>>> list[reversed[fruits]]
['orange', 'banana', 'apple']
8Misalnya, iterasi pertama menghapus
>>> fruits = ["apple", "banana", "orange"]
>>> list[reversed[fruits]]
['orange', 'banana', 'apple']
_9 dari ujung kanan daftar dan menyimpannya di >>> fruits = ["apple", "banana", "orange"]
>>> list[reversed[fruits]]
['orange', 'banana', 'apple']
5. Kemudian menyisipkan >>> fruits = ["apple", "banana", "orange"]
>>> list[reversed[fruits]]
['orange', 'banana', 'apple']
_9 di indeks >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = reversed[digits]
>>> reversed_digits
>>> list[reversed_digits]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
5. Iterasi berikutnya mengambil >>> list[reversed[range[10]]]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
>>> list[reversed["Python"]]
['n', 'o', 'h', 't', 'y', 'P']
3 dan memindahkannya ke indeks >>> fruits = ["apple", "banana", "orange"]
>>> reversed_fruit = reversed[fruits] # Get the iterator
>>> fruits[-1] = "kiwi" # Modify the last item
>>> next[reversed_fruit] # The iterator sees the change
'kiwi'
1, dan seterusnya. Di akhir putaran, Anda mendapatkan daftar terbalik di tempatnyaHilangkan iklanMembuat Daftar Terbalik
Jika Anda ingin membuat salinan terbalik dari daftar yang ada dengan Python, Anda dapat menggunakan
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
1. Dengan daftar sebagai argumen, >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
_1 mengembalikan iterator yang menghasilkan item dalam urutan terbalik>>>
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = reversed[digits]
>>> reversed_digits
>>> list[reversed_digits]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
_Dalam contoh ini, Anda memanggil
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
_1 dengan >>> list[reversed[range[10]]]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
>>> list[reversed["Python"]]
['n', 'o', 'h', 't', 'y', 'P']
8 sebagai argumen. Kemudian Anda menyimpan iterator yang dihasilkan di ________46______9. Panggilan ke >>> digits = iter[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]]
>>> reversed[digits]
Traceback [most recent call last]:
File "", line 1, in
TypeError: 'list_iterator' object is not reversible
0 menggunakan iterator dan mengembalikan daftar baru yang berisi item yang sama dengan >>> list[reversed[range[10]]]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
>>> list[reversed["Python"]]
['n', 'o', 'h', 't', 'y', 'P']
8 tetapi dalam urutan terbalikHal penting yang perlu diperhatikan saat Anda menggunakan
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
1 adalah bahwa ini tidak membuat salinan dari daftar input, jadi perubahannya memengaruhi iterator yang dihasilkan>>>
>>> fruits = ["apple", "banana", "orange"]
>>> reversed_fruit = reversed[fruits] # Get the iterator
>>> fruits[-1] = "kiwi" # Modify the last item
>>> next[reversed_fruit] # The iterator sees the change
'kiwi'
_Dalam contoh ini, Anda memanggil
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
_1 untuk mendapatkan iterator yang sesuai atas item di >>> digits = iter[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]]
>>> reversed[digits]
Traceback [most recent call last]:
File "", line 1, in
TypeError: 'list_iterator' object is not reversible
4. Kemudian Anda memodifikasi buah terakhir. Perubahan ini memengaruhi iterator. Anda dapat mengonfirmasinya dengan menelepon untuk mendapatkan item pertama di >>> digits = iter[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]]
>>> reversed[digits]
Traceback [most recent call last]:
File "", line 1, in
TypeError: 'list_iterator' object is not reversible
6Jika Anda perlu mendapatkan salinan
>>> digits = iter[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]]
>>> reversed[digits]
Traceback [most recent call last]:
File "", line 1, in
TypeError: 'list_iterator' object is not reversible
4 menggunakan >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
1, Anda dapat menghubungi >>> digits = iter[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]]
>>> reversed[digits]
Traceback [most recent call last]:
File "", line 1, in
TypeError: 'list_iterator' object is not reversible
0>>>
>>> fruits = ["apple", "banana", "orange"]
>>> list[reversed[fruits]]
['orange', 'banana', 'apple']
_Seperti yang sudah Anda ketahui, panggilan ke
>>> digits = iter[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]]
>>> reversed[digits]
Traceback [most recent call last]:
File "", line 1, in
TypeError: 'list_iterator' object is not reversible
_0 menggunakan iterator yang dihasilkan dari panggilan >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
1. Dengan cara ini, Anda membuat daftar baru sebagai salinan terbalik dari yang aslimenambahkan
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
_1, alat universal untuk memfasilitasi iterasi terbalik atas urutan, sebagaimana dinyatakan dalam PEP 322. Secara umum, >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
_1 dapat mengambil objek apa pun yang mengimplementasikan suatu metode atau yang mendukung protokol urutan, yang terdiri dari metode dan metode khusus. Jadi, >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
1 tidak terbatas pada daftar>>>
>>> list[reversed[range[10]]]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
>>> list[reversed["Python"]]
['n', 'o', 'h', 't', 'y', 'P']
_Di sini, alih-alih daftar, Anda meneruskan objek
>>> fruits = ["apple", "banana", "orange"]
>>> reversed_fruit = reversed[fruits] # Get the iterator
>>> fruits[-1] = "kiwi" # Modify the last item
>>> next[reversed_fruit] # The iterator sees the change
'kiwi'
4 dan string sebagai argumen ke >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
1. Fungsi melakukan tugasnya seperti yang diharapkan, dan Anda mendapatkan versi terbalik dari input dataPoin penting lainnya untuk disoroti adalah Anda tidak dapat menggunakan iterator sewenang-wenang
>>>
>>> digits = iter[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]]
>>> reversed[digits]
Traceback [most recent call last]:
File "", line 1, in
TypeError: 'list_iterator' object is not reversible
_Dalam contoh ini, buat iterator di atas daftar angka Anda. Saat Anda menelepon
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
1 di >>> list[reversed[range[10]]]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
>>> list[reversed["Python"]]
['n', 'o', 'h', 't', 'y', 'P']
8, Anda mendapatkan >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
04Iterator menerapkan metode khusus untuk menelusuri data yang mendasarinya. Mereka juga diharapkan menerapkan metode khusus untuk mengembalikan instance iterator saat ini. Namun, mereka tidak diharapkan untuk menerapkan
>>> digits = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
>>> reversed[digits]
Traceback [most recent call last]:
File "", line 1, in
TypeError: 'set' object is not reversible
4 atau protokol urutan. Jadi, >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
1 tidak bekerja untuk mereka. Jika Anda perlu membalikkan iterator seperti ini, Anda harus terlebih dahulu mengonversinya menjadi daftar menggunakan >>> digits = iter[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]]
>>> reversed[digits]
Traceback [most recent call last]:
File "", line 1, in
TypeError: 'list_iterator' object is not reversible
0Hal lain yang perlu diperhatikan adalah bahwa Anda tidak dapat menggunakan
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
1 dengan iterables yang tidak dapat diurutkan>>>
>>> digits = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
>>> reversed[digits]
Traceback [most recent call last]:
File "", line 1, in
TypeError: 'set' object is not reversible
_Dalam contoh ini, saat Anda mencoba menggunakan
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
1 dengan objek >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
12, Anda mendapatkan >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
04. Ini karena set tidak mengatur itemnya, jadi Python tidak tahu cara membalikkannyaHilangkan iklanMembalikkan Daftar Melalui Mengiris
Sejak Python 1. 4, sintaks pemotongan memiliki argumen ketiga, disebut
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
14. Namun, sintaks tersebut awalnya tidak berfungsi pada tipe bawaan, seperti daftar, tupel, dan string. memperluas sintaks ke tipe bawaan, sehingga Anda dapat menggunakan >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
14 dengannya sekarang. Inilah sintaks pemotongan lengkap>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
0Sintaks ini memungkinkan Anda untuk mengekstrak semua item di
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
16 dari >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
17 ke >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
18 oleh ________12______14. Offset ketiga, >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
_14, default ke >>> fruits = ["apple", "banana", "orange"]
>>> reversed_fruit = reversed[fruits] # Get the iterator
>>> fruits[-1] = "kiwi" # Modify the last item
>>> next[reversed_fruit] # The iterator sees the change
'kiwi'
1, itulah sebabnya operasi pemotongan normal mengekstrak item dari kiri ke kanan>>>
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
1Dengan
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
_22, Anda mendapatkan item dari indeks >>> fruits = ["apple", "banana", "orange"]
>>> reversed_fruit = reversed[fruits] # Get the iterator
>>> fruits[-1] = "kiwi" # Modify the last item
>>> next[reversed_fruit] # The iterator sees the change
'kiwi'
1 ke indeks >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
24. Item dengan indeks sama dengan >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
_25 tidak pernah disertakan dalam hasil akhir. Pengirisan ini mengembalikan semua item dalam rentang target karena >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
14 default ke >>> fruits = ["apple", "banana", "orange"]
>>> reversed_fruit = reversed[fruits] # Get the iterator
>>> fruits[-1] = "kiwi" # Modify the last item
>>> next[reversed_fruit] # The iterator sees the change
'kiwi'
1Catatan. Anda dapat menghilangkan titik dua kedua [
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
_28] di operator pemotongan ketika nilai default [>>> fruits = ["apple", "banana", "orange"]
>>> reversed_fruit = reversed[fruits] # Get the iterator
>>> fruits[-1] = "kiwi" # Modify the last item
>>> next[reversed_fruit] # The iterator sees the change
'kiwi'
1] memenuhi kebutuhan Anda saat iniJika Anda menggunakan
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
14 yang berbeda, maka irisan melompati item sebanyak nilai >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
14>>>
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
2Pada contoh pertama,
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
_32 mengekstrak semua item dari indeks >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = reversed[digits]
>>> reversed_digits
>>> list[reversed_digits]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
5 hingga akhir >>> list[reversed[range[10]]]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
>>> list[reversed["Python"]]
['n', 'o', 'h', 't', 'y', 'P']
8, melompati dua item setiap kali. Dalam contoh kedua, pemotongan melompati >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
35 item seiring berjalannya waktu. Jika Anda tidak memberikan nilai ke >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
_17 dan >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
25, maka nilai tersebut disetel ke >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = reversed[digits]
>>> reversed_digits
>>> list[reversed_digits]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
5 dan ke panjang urutan target, masing-masingJika Anda menetapkan
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
_14 ke >>> fruits = ["apple", "banana", "orange"]
>>> reversed_fruit = reversed[fruits] # Get the iterator
>>> fruits[-1] = "kiwi" # Modify the last item
>>> next[reversed_fruit] # The iterator sees the change
'kiwi'
0, maka Anda mendapatkan potongan dengan item dalam urutan terbalik>>>
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
3Pemotongan ini mengembalikan semua item dari ujung kanan daftar [
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
41] kembali ke ujung kiri karena Anda menghilangkan offset kedua. Keajaiban lainnya dalam contoh ini berasal dari penggunaan nilai >>> fruits = ["apple", "banana", "orange"]
>>> reversed_fruit = reversed[fruits] # Get the iterator
>>> fruits[-1] = "kiwi" # Modify the last item
>>> next[reversed_fruit] # The iterator sees the change
'kiwi'
0 untuk >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
14. Saat Anda menjalankan trik ini, Anda mendapatkan salinan daftar asli dalam urutan terbalik tanpa memengaruhi data inputJika Anda sepenuhnya mengandalkan offset implisit, maka sintaks pemotongan menjadi lebih pendek, lebih bersih, dan lebih sedikit rawan kesalahan
>>>
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
4Di sini, Anda meminta Python untuk memberi Anda daftar lengkap [
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
44] tetapi memeriksa semua item dari belakang ke depan dengan mengatur >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
14 hingga >>> fruits = ["apple", "banana", "orange"]
>>> reversed_fruit = reversed[fruits] # Get the iterator
>>> fruits[-1] = "kiwi" # Modify the last item
>>> next[reversed_fruit] # The iterator sees the change
'kiwi'
0. Ini cukup rapi, tetapi >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
_1 lebih efisien dalam hal waktu eksekusi dan penggunaan memori. Ini juga lebih mudah dibaca dan eksplisit. Jadi ini adalah poin yang perlu dipertimbangkan dalam kode AndaTeknik lain untuk membuat salinan terbalik dari daftar yang ada adalah dengan menggunakan. Tanda tangan dari fungsi bawaan ini adalah seperti ini
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
5Fungsi ini bekerja mirip dengan operator pengindeksan. Dibutuhkan tiga argumen dengan arti yang mirip dengan yang digunakan dalam operator pemotongan dan mengembalikan objek yang mewakili kumpulan indeks yang dikembalikan oleh
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
49. Kedengarannya rumit, jadi inilah beberapa contoh cara kerja >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
48>>>
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
6Panggilan pertama ke
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
_48 setara dengan >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
52. Panggilan kedua berfungsi sama dengan >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
53. Anda juga dapat meniru pemotongan >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
44 menggunakan >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
55. Dalam hal ini, meneruskan >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = reversed[digits]
>>> reversed_digits
>>> list[reversed_digits]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
_1 ke >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
17 dan >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
25 berarti Anda menginginkan irisan dari awal hingga akhir urutan targetCatatan. Di bawah tenda, mengiris literal membuat
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
59 objek. Jadi, saat Anda menghilangkan offset seperti di >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
44, ini berfungsi seolah-olah Anda meneruskan >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = reversed[digits]
>>> reversed_digits
>>> list[reversed_digits]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
1 ke offset yang sesuai dalam panggilan ke >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
48Inilah cara Anda dapat menggunakan
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
_48 untuk membuat salinan terbalik dari daftar yang ada>>> ________12______7
Objek
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
_59 mengekstrak semua item dari >>> list[reversed[range[10]]]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
>>> list[reversed["Python"]]
['n', 'o', 'h', 't', 'y', 'P']
8, mulai dari ujung kanan kembali ke ujung kiri, dan mengembalikan salinan terbalik dari daftar targetHilangkan iklanMenghasilkan Daftar Terbalik dengan Tangan
Sejauh ini, Anda telah melihat beberapa alat dan teknik untuk membalikkan daftar atau membuat salinan terbalik dari daftar yang ada. Sebagian besar waktu, alat dan teknik ini adalah cara yang tepat untuk membalikkan daftar dengan Python. Namun, jika Anda perlu membalikkan daftar dengan tangan, maka akan bermanfaat bagi Anda untuk memahami logika di balik proses tersebut
Di bagian ini, Anda akan mempelajari cara membalik daftar Python menggunakan loop, rekursi, dan pemahaman. Idenya adalah untuk mendapatkan daftar dan membuat salinannya dalam urutan terbalik
Menggunakan Lingkaran
Teknik pertama yang akan Anda gunakan untuk membalikkan daftar melibatkan
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
4 loop dan rangkaian daftar menggunakan simbol plus [>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
67]>>> ________12______8
Setiap iterasi dari
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
4 loop mengambil item berikutnya dari >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
16 dan membuat daftar baru yang dihasilkan dari penggabungan >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
70 dan >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
71, yang awalnya berisi daftar kosong. Daftar yang baru dibuat dipindahkan ke ________12______71. Fungsi ini tidak mengubah >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
16Catatan. Contoh di atas menggunakan teknik boros karena membuat beberapa daftar hanya untuk membuangnya di iterasi berikutnya
Anda juga dapat memanfaatkan
>>> fruits = ["apple", "banana", "orange"]
>>> list[reversed[fruits]]
['orange', 'banana', 'apple']
_3 untuk membuat daftar terbalik dengan bantuan loop>>>
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
9Panggilan ke
>>> fruits = ["apple", "banana", "orange"]
>>> list[reversed[fruits]]
['orange', 'banana', 'apple']
3 di dalam loop menyisipkan item berikutnya pada indeks >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = reversed[digits]
>>> reversed_digits
>>> list[reversed_digits]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
5 dari >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
71. Di akhir putaran, Anda mendapatkan daftar baru dengan item ________12______16 dalam urutan terbalikMenggunakan
>>> fruits = ["apple", "banana", "orange"]
>>> list[reversed[fruits]]
['orange', 'banana', 'apple']
_3 seperti pada contoh di atas memiliki kekurangan yang signifikan. Masukkan operasi di ujung kiri daftar Python diketahui tidak efisien mengenai waktu eksekusi. Itu karena Python perlu memindahkan semua item satu langkah ke belakang untuk memasukkan item baru di posisi pertamaMenggunakan Rekursi
Anda juga dapat menggunakan rekursi untuk membalik daftar Anda. Rekursi adalah saat Anda menentukan fungsi yang memanggil dirinya sendiri. Ini menciptakan loop yang bisa menjadi tidak terbatas jika Anda tidak memberikan kasus dasar yang menghasilkan hasil tanpa memanggil kembali fungsi tersebut
Anda memerlukan kasing dasar untuk mengakhiri loop rekursif. Ketika datang ke daftar pembalik, kasing dasar akan tercapai ketika panggilan rekursif sampai ke akhir daftar input. Anda juga perlu mendefinisikan kasus rekursif, yang mereduksi semua kasus berturut-turut menuju kasus dasar dan, oleh karena itu, ke akhir perulangan
Inilah cara Anda dapat menentukan fungsi rekursif untuk mengembalikan salinan terbalik dari daftar yang diberikan
>>>
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits] // 2]:
.. digits[i], digits[-1 - i] = digits[-1 - i], digits[i]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
0Di dalam
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
_80, pertama-tama Anda memeriksa kasus dasar, di mana daftar input kosong dan mengembalikan fungsi. Klausa >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
_81 memberikan kasus rekursif, yang merupakan panggilan ke >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
80 itu sendiri tetapi dengan potongan dari daftar asli, >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
83. Irisan ini berisi semua item di >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
_16 kecuali item pertama, yang kemudian ditambahkan sebagai daftar item tunggal [>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
85] ke hasil panggilan rekursifCatatan. Dalam kasus rekursif, Anda dapat mengganti
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
85 dengan >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
87 untuk mendapatkan hasil yang serupaPanggilan yang dikomentari ke
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
_88 di awal klausa >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
81 hanyalah tipuan yang dimaksudkan untuk menunjukkan bagaimana panggilan berikutnya mengurangi daftar input ke kasus dasar. Lanjutkan dan batalkan komentar pada baris untuk melihat apa yang terjadiHilangkan iklanMenggunakan Pemahaman Daftar
Jika Anda bekerja dengan daftar dengan Python, Anda mungkin ingin mempertimbangkan untuk menggunakan pemahaman daftar. Alat ini cukup populer di ruang Python karena mewakili cara Pythonic untuk memproses daftar
Berikut adalah contoh cara menggunakan pemahaman daftar untuk membuat daftar terbalik
>>>
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits] // 2]:
.. digits[i], digits[-1 - i] = digits[-1 - i], digits[i]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
1Keajaiban dalam pemahaman daftar ini berasal dari panggilan ke
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
90. Dalam hal ini, >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
_90 mengembalikan indeks dari >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
41 kembali ke >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = reversed[digits]
>>> reversed_digits
>>> list[reversed_digits]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
5. Hal ini membuat loop pemahaman mengulang item di >>> list[reversed[range[10]]]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
>>> list[reversed["Python"]]
['n', 'o', 'h', 't', 'y', 'P']
8 secara terbalik, membuat daftar terbalik baru dalam prosesIterasi Melalui Daftar secara Terbalik
Hingga saat ini, Anda telah mempelajari cara membuat daftar terbalik dan juga cara membalikkan daftar yang sudah ada, baik dengan menggunakan alat yang dirancang khusus untuk menyelesaikan tugas itu atau dengan menggunakan solusi kode tangan Anda sendiri
Dalam pemrograman sehari-hari, Anda mungkin menemukan bahwa mengulangi daftar dan urutan yang ada dalam urutan terbalik, biasanya dikenal sebagai iterasi terbalik, adalah persyaratan yang cukup umum. Jika itu kasus Anda, maka Anda memiliki beberapa opsi. Tergantung pada kebutuhan spesifik Anda, Anda dapat menggunakan
- Fungsi bawaan
1>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> for i in range[len[digits]]: .. last_item = digits.pop[] .. digits.insert[i, last_item] ... >>> digits [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
- Operator pengiris,
96>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> reversed_digits = digits.reverse[] >>> reversed_digits is None True
- Metode khusus
_4>>> digits = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} >>> reversed[digits] Traceback [most recent call last]: File "", line 1, in TypeError: 'set' object is not reversible
Di beberapa bagian berikut, Anda akan mempelajari tentang semua opsi ini dan bagaimana opsi tersebut dapat membantu Anda mengulang daftar dalam urutan terbalik
Fungsi >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
1 Bawaan
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
Pendekatan pertama Anda untuk mengulangi daftar dalam urutan terbalik mungkin menggunakan
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
1. Fungsi bawaan ini dirancang khusus untuk mendukung iterasi terbalik. Dengan daftar sebagai argumen, ia mengembalikan iterator yang menghasilkan item daftar masukan dalam urutan terbalikInilah cara Anda dapat menggunakan
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
_1 untuk mengulangi item dalam daftar dalam urutan terbalik>>>
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits] // 2]:
.. digits[i], digits[-1 - i] = digits[-1 - i], digits[i]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
2Hal pertama yang perlu diperhatikan dalam contoh ini adalah bahwa loop
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
4 sangat mudah dibaca. Nama >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
_1 dengan jelas mengungkapkan maksudnya, dengan detail komunikasi yang halus bahwa fungsi tersebut tidak menghasilkan efek samping apa pun. Dengan kata lain, itu tidak mengubah daftar masukanLoop juga efisien dalam hal penggunaan memori karena
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
1 mengembalikan iterator yang menghasilkan item sesuai permintaan tanpa menyimpan semuanya dalam memori pada saat yang sama. Sekali lagi, detail halus yang perlu diperhatikan adalah jika daftar input berubah selama iterasi, maka iterator akan melihat perubahannyaOperator Pemotong, >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
_44
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
Pendekatan kedua untuk membalikkan iterasi adalah dengan menggunakan sintaks extended slicing yang Anda lihat sebelumnya. Sintaks ini tidak mendukung efisiensi memori, keindahan, atau kejelasan. Tetap saja, ini menyediakan cara cepat untuk mengulang salinan terbalik dari daftar yang ada tanpa risiko terpengaruh oleh perubahan dalam daftar asli
Inilah cara Anda dapat menggunakan
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
_44 untuk beralih melalui salinan daftar yang ada dalam urutan terbalik>>>
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits] // 2]:
.. digits[i], digits[-1 - i] = digits[-1 - i], digits[i]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
3Saat Anda mengiris daftar seperti dalam contoh ini, Anda membuat salinan terbalik dari daftar asli. Awalnya, kedua daftar berisi referensi ke grup item yang sama. Namun, jika Anda menetapkan nilai baru ke item tertentu dalam daftar asli, seperti di
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits] // 2]:
.. digits[i], digits[-1 - i] = digits[-1 - i], digits[i]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
06, referensi berubah untuk menunjuk ke nilai baru. Dengan cara ini, perubahan pada daftar input tidak memengaruhi salinanCatatan. Dibandingkan dengan extended slicing,
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
_1 jauh lebih mudah dibaca, berjalan lebih cepat, dan menggunakan lebih sedikit memori. Namun, itu dipengaruhi oleh perubahan dalam daftar inputAnda dapat memanfaatkan pemotongan semacam ini untuk memodifikasi daftar asli dengan aman saat Anda mengulangi item lamanya dalam urutan terbalik. Misalnya, Anda perlu mengulangi daftar angka dalam urutan terbalik dan mengganti setiap angka dengan nilai kuadratnya. Dalam hal ini, Anda dapat melakukan sesuatu seperti ini
>>>
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits] // 2]:
.. digits[i], digits[-1 - i] = digits[-1 - i], digits[i]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
4Di sini, loop berulang melalui salinan terbalik dari
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits] // 2]:
.. digits[i], digits[-1 - i] = digits[-1 - i], digits[i]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
08. Panggilan ke >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits] // 2]:
.. digits[i], digits[-1 - i] = digits[-1 - i], digits[i]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
09 memberikan indeks berbasis nol naik untuk setiap item dalam salinan terbalik. Itu memungkinkan Anda untuk memodifikasi >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits] // 2]:
.. digits[i], digits[-1 - i] = digits[-1 - i], digits[i]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
_08 selama iterasi. Kemudian loop memodifikasi >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits] // 2]:
.. digits[i], digits[-1 - i] = digits[-1 - i], digits[i]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
_08 dengan mengganti setiap item dengan nilai kuadratnya. Akibatnya, >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits] // 2]:
.. digits[i], digits[-1 - i] = digits[-1 - i], digits[i]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
_08 akhirnya berisi nilai kuadrat dalam urutan terbalikHilangkan iklanMetode Khusus >>> digits = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
>>> reversed[digits]
Traceback [most recent call last]:
File "", line 1, in
TypeError: 'set' object is not reversible
_4
>>> digits = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
>>> reversed[digits]
Traceback [most recent call last]:
File "", line 1, in
TypeError: 'set' object is not reversible
Daftar Python menerapkan metode khusus yang disebut
>>> digits = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
>>> reversed[digits]
Traceback [most recent call last]:
File "", line 1, in
TypeError: 'set' object is not reversible
4 yang memungkinkan iterasi terbalik. Metode ini memberikan logika di balik >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
1. Dengan kata lain, panggilan ke >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
_1 dengan daftar sebagai argumen memicu panggilan implisit ke >>> digits = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
>>> reversed[digits]
Traceback [most recent call last]:
File "", line 1, in
TypeError: 'set' object is not reversible
4 pada daftar masukanMetode khusus ini mengembalikan iterator pada item daftar saat ini dalam urutan terbalik. Namun,
>>> digits = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
>>> reversed[digits]
Traceback [most recent call last]:
File "", line 1, in
TypeError: 'set' object is not reversible
4 tidak dimaksudkan untuk digunakan secara langsung. Sebagian besar waktu, Anda akan menggunakannya untuk melengkapi kelas Anda sendiri dengan kemampuan iterasi terbalikMisalnya, Anda ingin mengulangi rentang angka titik-mengambang. Anda tidak dapat menggunakan
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
90, jadi Anda memutuskan untuk membuat kelas Anda sendiri untuk mendekati kasus penggunaan khusus ini. Anda berakhir dengan kelas seperti ini>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits] // 2]:
.. digits[i], digits[-1 - i] = digits[-1 - i], digits[i]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
_5Kelas ini tidak sempurna. Ini hanya versi pertama Anda. Namun, ini memungkinkan Anda untuk beralih melalui interval angka titik-mengambang menggunakan nilai kenaikan tetap,
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
14. Di kelas Anda, berikan dukungan untuk iterasi normal dan >>> digits = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
>>> reversed[digits]
Traceback [most recent call last]:
File "", line 1, in
TypeError: 'set' object is not reversible
4 mendukung iterasi terbalikUntuk menggunakan
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits] // 2]:
.. digits[i], digits[-1 - i] = digits[-1 - i], digits[i]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
_23, Anda dapat melakukan hal seperti ini>>>
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits] // 2]:
.. digits[i], digits[-1 - i] = digits[-1 - i], digits[i]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
6Kelas mendukung iterasi normal, yang, sebagaimana disebutkan, disediakan oleh
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
06. Sekarang Anda dapat mencoba mengulang dalam urutan terbalik menggunakan >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
1>>>
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits] // 2]:
.. digits[i], digits[-1 - i] = digits[-1 - i], digits[i]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
7Dalam contoh ini,
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
1 bergantung pada implementasi >>> digits = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
>>> reversed[digits]
Traceback [most recent call last]:
File "", line 1, in
TypeError: 'set' object is not reversible
4 Anda untuk menyediakan fungsionalitas iterasi terbalik. Dengan cara ini, Anda memiliki iterator floating-point yang berfungsiMembalikkan Daftar Python. Ringkasan
Hingga saat ini, Anda telah belajar banyak tentang membalik daftar menggunakan berbagai alat dan teknik. Berikut adalah tabel yang merangkum poin-poin penting yang telah Anda bahas
Fitur
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
0>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
1>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> reversed_digits = digits.reverse[]
>>> reversed_digits is None
True
44LoopList CompRecursionMemodifikasi daftar di tempat✔❌❌✔/❌❌❌Membuat salinan daftar❌❌✔✔/❌✔✔Cepat✔✔✔❌❌✔❌Bersifat universal❌✔✔✔✔✔Melihat sekilas ringkasan ini akan memungkinkan Anda memutuskan alat atau teknik mana yang akan digunakan saat Anda membalikkan daftar, membuat salinan terbalik dari daftar yang ada, atau mengulangi daftar Anda dalam urutan terbalik
Menyortir Daftar Python dalam Urutan Terbalik
Opsi lain yang menarik untuk membalikkan daftar dengan Python adalah menggunakan
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
2 dan >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
3 untuk mengurutkannya dalam urutan terbalik. Untuk melakukannya, Anda dapat meneruskan >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits] // 2]:
.. digits[i], digits[-1 - i] = digits[-1 - i], digits[i]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
_33 ke argumen ________27______34 masing-masingCatatan. Untuk mempelajari lebih dalam tentang cara menggunakan
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
_2 dan >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
3, lihat Cara Menggunakan sort[] dan sort[] dengan PythonTujuan dari
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
_2 adalah untuk mengurutkan item dari daftar. Penyortiran dilakukan di tempat, sehingga tidak membuat daftar baru. Jika Anda menyetel argumen kata kunci >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits] // 2]:
.. digits[i], digits[-1 - i] = digits[-1 - i], digits[i]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
_34 ke >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits] // 2]:
.. digits[i], digits[-1 - i] = digits[-1 - i], digits[i]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
33, maka Anda mendapatkan daftar yang diurutkan dalam urutan menurun atau terbalik>>> ________27______8
Sekarang daftar Anda sepenuhnya diurutkan dan juga dalam urutan terbalik. Ini cukup nyaman saat Anda bekerja dengan beberapa data dan Anda perlu mengurutkannya dan membalikkannya pada saat yang bersamaan
Di sisi lain, jika Anda ingin mengulangi daftar yang diurutkan dalam urutan terbalik, maka Anda dapat menggunakan
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
3. Fungsi bawaan ini mengembalikan daftar baru yang berisi semua item input yang dapat diubah secara berurutan. Jika Anda meneruskan >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits] // 2]:
.. digits[i], digits[-1 - i] = digits[-1 - i], digits[i]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
33 ke >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits] // 2]:
.. digits[i], digits[-1 - i] = digits[-1 - i], digits[i]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
34 argumen kata kuncinya, Anda akan mendapatkan salinan terbalik dari daftar awal>>>
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits] // 2]:
.. digits[i], digits[-1 - i] = digits[-1 - i], digits[i]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
9Argumen
>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits] // 2]:
.. digits[i], digits[-1 - i] = digits[-1 - i], digits[i]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
_34 ke >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
3 memungkinkan Anda mengurutkan iterables dalam urutan menurun, bukan dalam urutan menaik. Jadi, jika Anda perlu membuat daftar terurut dalam urutan terbalik, maka >>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> for i in range[len[digits]]:
.. last_item = digits.pop[]
.. digits.insert[i, last_item]
...
>>> digits
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
3 cocok untuk AndaHilangkan iklanKesimpulan
Membalikkan dan bekerja dengan daftar dalam urutan terbalik mungkin merupakan tugas yang cukup umum dalam pekerjaan Anda sehari-hari sebagai pembuat kode Python. Dalam tutorial ini, Anda memanfaatkan beberapa alat dan teknik Python untuk membalik daftar Anda dan mengelolanya dalam urutan terbalik
Dalam tutorial ini, Anda belajar caranya
- Balikkan daftar Anda menggunakan
0 dan teknik lainnya>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> for i in range[len[digits]]: .. last_item = digits.pop[] .. digits.insert[i, last_item] ... >>> digits [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
- Gunakan
_1 dan mengiris untuk membuat salinan terbalik dari daftar Anda>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> for i in range[len[digits]]: .. last_item = digits.pop[] .. digits.insert[i, last_item] ... >>> digits [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
- Gunakan iterasi, pemahaman, dan rekursi untuk membuat daftar terbalik
- Ulangi daftar Anda dalam urutan terbalik
- Urutkan daftar dalam urutan terbalik menggunakan
2 dan>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> for i in range[len[digits]]: .. last_item = digits.pop[] .. digits.insert[i, last_item] ... >>> digits [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
3>>> digits = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> for i in range[len[digits]]: .. last_item = digits.pop[] .. digits.insert[i, last_item] ... >>> digits [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
Semua pengetahuan ini membantu Anda meningkatkan keterampilan terkait daftar Anda. Ini memberi Anda alat yang diperlukan untuk menjadi lebih mahir saat Anda bekerja dengan daftar Python
Tandai sebagai Selesai
🐍 Trik Python 💌
Dapatkan Trik Python singkat & manis yang dikirim ke kotak masuk Anda setiap beberapa hari. Tidak pernah ada spam. Berhenti berlangganan kapan saja. Dikuratori oleh tim Real Python
Kirimi Saya Trik Python »
Tentang Leodanis Pozo Ramos
Leodanis adalah seorang insinyur industri yang menyukai Python dan pengembangan perangkat lunak. Dia adalah pengembang Python otodidak dengan pengalaman lebih dari 6 tahun. Dia adalah seorang penulis teknis yang rajin dengan semakin banyak artikel yang diterbitkan di Real Python dan situs lainnya
» Lebih lanjut tentang LeodanisSetiap tutorial di Real Python dibuat oleh tim pengembang sehingga memenuhi standar kualitas tinggi kami. Anggota tim yang mengerjakan tutorial ini adalah
Aldren
Bartosz
Joanna
Yakub
Master Keterampilan Python Dunia Nyata Dengan Akses Tanpa Batas ke Python Nyata
Bergabunglah dengan kami dan dapatkan akses ke ribuan tutorial, kursus video langsung, dan komunitas pakar Pythonista
Tingkatkan Keterampilan Python Anda »
Guru Keterampilan Python Dunia Nyata
Dengan Akses Tak Terbatas ke Real Python
Bergabunglah dengan kami dan dapatkan akses ke ribuan tutorial, kursus video langsung, dan komunitas ahli Pythonista
Tingkatkan Keterampilan Python Anda »
Bagaimana menurut anda?
Nilai artikel ini
Tweet Bagikan Bagikan EmailApa takeaway # 1 Anda atau hal favorit yang Anda pelajari?
Kiat Berkomentar. Komentar yang paling berguna adalah yang ditulis dengan tujuan belajar dari atau membantu siswa lain. dan dapatkan jawaban atas pertanyaan umum di portal dukungan kami