Mengembalikan elemen dari daftar python

Python memiliki tipe daftar bawaan yang hebat bernama "daftar". Daftar literal ditulis dalam tanda kurung siku [ ]. Daftar berfungsi mirip dengan string -- gunakan fungsi len() dan tanda kurung siku [ ] untuk mengakses data, dengan elemen pertama pada indeks 0. (Lihat python resmi. dokumen daftar org. )

  colors = ['red', 'blue', 'green']
  print(colors[0])    ## red
  print(colors[2])    ## green
  print(len(colors))  ## 3

Mengembalikan elemen dari daftar python

Penugasan dengan tanda = pada daftar tidak membuat salinan. Alih-alih, penugasan membuat kedua variabel menunjuk ke satu daftar di memori

  b = colors   ## Does not copy the list
_

Mengembalikan elemen dari daftar python

"Daftar kosong" hanyalah sepasang tanda kurung kosong [ ]. '+' berfungsi untuk menambahkan dua daftar, jadi [1, 2] + [3, 4] menghasilkan [1, 2, 3, 4] (ini seperti + dengan string)

UNTUK dan DI

Konstruksi *for* dan *in* Python sangat berguna, dan penggunaan pertama yang akan kita lihat adalah dengan daftar. Konstruk *untuk* --

  b = colors   ## Does not copy the list
_0 -- adalah cara mudah untuk melihat setiap elemen dalam daftar (atau kumpulan lainnya). Jangan menambah atau menghapus dari daftar selama iterasi

  squares = [1, 4, 9, 16]
  sum = 0
  for num in squares:
    sum += num
  print(sum)  ## 30

Jika Anda tahu hal apa yang ada dalam daftar, gunakan nama variabel dalam lingkaran yang menangkap informasi itu seperti "num", atau "name", atau "url". Karena kode Python tidak memiliki sintaks lain untuk mengingatkan Anda tentang tipe, nama variabel Anda adalah cara utama bagi Anda untuk tetap mengetahui apa yang sedang terjadi. (Ini sedikit menyesatkan. Saat Anda mendapatkan lebih banyak eksposur ke python, Anda akan melihat referensi untuk mengetikkan petunjuk yang memungkinkan Anda menambahkan informasi pengetikan ke definisi fungsi Anda. Python tidak menggunakan petunjuk jenis ini saat menjalankan program Anda. Mereka digunakan oleh program lain seperti IDE (lingkungan pengembangan terintegrasi) dan alat analisis statis seperti linter/pemeriksa tipe untuk memvalidasi jika fungsi Anda dipanggil dengan argumen yang kompatibel. )

Konstruk *in* sendiri adalah cara mudah untuk menguji apakah suatu elemen muncul dalam daftar (atau koleksi lainnya) --

  b = colors   ## Does not copy the list
1 -- menguji apakah nilainya ada dalam koleksi, mengembalikan True/False

  list = ['larry', 'curly', 'moe']
  if 'curly' in list:
    print('yay')

Konstruksi for/in sangat umum digunakan dalam kode Python dan bekerja pada tipe data selain daftar, jadi Anda sebaiknya hanya menghafal sintaksnya. Anda mungkin memiliki kebiasaan dari bahasa lain di mana Anda mulai mengulangi koleksi secara manual, di mana dengan Python Anda harus menggunakan for/in

Anda juga dapat menggunakan for/in untuk mengerjakan sebuah string. String bertindak seperti daftar karakternya, jadi

  b = colors   ## Does not copy the list
2 mencetak semua karakter dalam sebuah string

Jangkauan

Fungsi range(n) menghasilkan angka 0, 1,. n-1, dan range(a, b) mengembalikan a, a+1,. b-1 -- hingga tetapi tidak termasuk angka terakhir. Kombinasi for-loop dan fungsi range() memungkinkan Anda membuat loop for numerik tradisional

  ## print the numbers from 0 through 99
  for i in range(100):
    print(i)

Ada varian xrange() yang menghindari biaya pembuatan seluruh daftar untuk kasus sensitif kinerja (dalam Python 3, range() akan memiliki perilaku kinerja yang baik dan Anda dapat melupakan xrange())

Sementara Loop

Python juga memiliki while-loop standar, dan pernyataan *break* dan *continue* berfungsi seperti di C++ dan Java, mengubah arah loop terdalam. Perulangan for/in di atas memecahkan kasus umum iterasi atas setiap elemen dalam daftar, tetapi perulangan while memberi Anda kendali penuh atas nomor indeks. Inilah while loop yang mengakses setiap elemen ke-3 dalam daftar

  ## Access every 3rd element in a list
  i = 0
  while i < len(a):
    print(a[i])
    i = i + 3
_

Daftar Metode

Berikut adalah beberapa metode daftar umum lainnya

  • daftar. append(elem) -- menambahkan satu elemen ke akhir daftar. Kesalahan umum. tidak mengembalikan daftar baru, hanya memodifikasi yang asli
  • daftar. insert(index, elem) -- menyisipkan elemen pada indeks yang diberikan, menggeser elemen ke kanan
  • daftar. extend(list2) menambahkan elemen di list2 ke akhir daftar. Menggunakan + atau += pada daftar mirip dengan menggunakan extend()
  • daftar. index(elem) -- mencari elemen yang diberikan dari awal daftar dan mengembalikan indeksnya. Melempar ValueError jika elemen tidak muncul (gunakan "in" untuk memeriksa tanpa ValueError)
  • daftar. remove(elem) -- mencari instance pertama dari elemen yang diberikan dan menghapusnya (melempar ValueError jika tidak ada)
  • daftar. sort() -- mengurutkan daftar pada tempatnya (tidak mengembalikannya). (Fungsi sortir() yang ditampilkan nanti lebih disukai. )
  • daftar. reverse() -- membalikkan daftar pada tempatnya (tidak mengembalikannya)
  • daftar. pop(index) -- menghapus dan mengembalikan elemen pada indeks yang diberikan. Mengembalikan elemen paling kanan jika indeks dihilangkan (kira-kira kebalikan dari append())

Perhatikan bahwa ini adalah *metode* pada objek daftar, sedangkan len() adalah fungsi yang menggunakan daftar (atau string atau apa pun) sebagai argumen

  list = ['larry', 'curly', 'moe']
  list.append('shemp')         ## append elem at end
  list.insert(0, 'xxx')        ## insert elem at index 0
  list.extend(['yyy', 'zzz'])  ## add list of elems at end
  print(list)  ## ['xxx', 'larry', 'curly', 'moe', 'shemp', 'yyy', 'zzz']
  print(list.index('curly'))    ## 2

  list.remove('curly')         ## search and remove that element
  list.pop(1)                  ## removes and returns 'larry'
  print(list)  ## ['xxx', 'moe', 'shemp', 'yyy', 'zzz']
_

Kesalahan umum. perhatikan bahwa metode di atas tidak *mengembalikan* daftar yang dimodifikasi, mereka hanya mengubah daftar asli

  list = [1, 2, 3]
  print(list.append(4))   ## NO, does not work, append() returns None
  ## Correct pattern:
  list.append(4)
  print(list)  ## [1, 2, 3, 4]

Buat Daftar

Salah satu pola umum adalah memulai daftar sebagai daftar kosong [], lalu gunakan append() atau extend() untuk menambahkan elemen ke dalamnya

  list = []          ## Start as the empty list
  list.append('a')   ## Use append() to add elements
  list.append('b')

Daftar Irisan

Slice berfungsi pada daftar sama seperti string, dan juga dapat digunakan untuk mengubah sub-bagian dari daftar

  list = ['a', 'b', 'c', 'd']
  print(list[1:-1])   ## ['b', 'c']
  list[0:2] = 'z'    ## replace ['a', 'b'] with ['z']
  print(list)         ## ['z', 'c', 'd']

Latihan. daftar1. py

Untuk mempraktekkan materi pada bagian ini, cobalah mengerjakan soal-soal pada daftar 1. py yang tidak menggunakan sorting (pada Latihan Dasar)

Bagaimana Anda mengembalikan elemen dari daftar dengan Python?

Anda bisa menggunakan tuple() untuk mengonversi daftar menjadi tuple. Fungsi multi-nilai Python sebenarnya mengembalikan tuple, yang secara otomatis dibongkar saat penugasan. .
Saya akhirnya melakukan sesuatu seperti ini, berdasarkan fungsionalitas metode pemanggil

Bagaimana Anda mengambil nilai dari daftar dengan Python?

Metode #3. Menggunakan enumerate() Ini adalah metode yang paling elegan untuk melakukan masalah khusus ini dan sangat disarankan untuk digunakan jika kita perlu mendapatkan indeks bersama . Metode ini menghitung indeks beserta nilainya.

Bagaimana Anda mencetak elemen dari daftar dengan Python?

Menggunakan simbol * untuk mencetak daftar dengan Python. Untuk mencetak isi daftar dalam satu baris dengan spasi, * atau operator splat adalah salah satu caranya. Ini meneruskan semua isi daftar ke suatu fungsi. Kami dapat mencetak semua elemen dalam baris baru atau dipisahkan oleh spasi dan untuk melakukan itu, kami menggunakan masing-masing sep=”\n” atau sep=”, ”.

Bagaimana Anda mengambil elemen dari daftar?

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