Bagaimana kita bisa mengakses daftar daftar dengan 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

Bagaimana kita bisa mengakses daftar daftar dengan 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
_

Bagaimana kita bisa mengakses daftar daftar dengan 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 cara mendapatkan daftar daftar dengan Python?

Apa itu daftar daftar? . Dengan Python, kita dapat membuat daftar dengan mengapit semua elemen dengan tanda kurung siku [] dan setiap elemen dipisahkan dengan koma .

Bagaimana Anda mengakses elemen sublist dengan Python?

Menggunakan zip dan * . Jadi dalam hal ini kita akan menggunakan * dan mengakses elemen pada indeks 0 dari setiap elemen. Kemudian kami akhirnya meng-zip hasilnya untuk mendapatkan daftar elemen pertama dari sublist.

Bagaimana cara mendapatkan data dari daftar dengan Python?

5 Cara Mudah Mengekstrak Elemen Dari Daftar Python .
Ekstrak Elemen Dari Daftar Python Menggunakan Index. .
Mencetak Item Dari Daftar Menggunakan Enumerate. .
Menggunakan Loop untuk Mengekstrak Elemen Daftar. .
Menggunakan Numpy Untuk Melihat Item Dari Daftar. .
Ekstrak Elemen Menggunakan fungsi indeks