Python mengekstrak nilai dari daftar bersarang

Daftar bersarang adalah daftar yang muncul sebagai elemen dalam daftar lain. Dalam daftar ini, elemen dengan indeks 3 adalah daftar bersarang. Jika kita mencetak(_______ 171 _______), kita mendapatkan _______ 172 _______. Untuk mengekstrak elemen dari daftar bersarang, kita dapat melanjutkan dalam dua langkah. Pertama, ekstrak daftar bersarang, lalu ekstrak item yang diinginkan. Dimungkinkan juga untuk menggabungkan langkah-langkah tersebut menggunakan operator braket yang mengevaluasi dari kiri ke kanan

Periksa pemahaman Anda

    Apa yang dicetak oleh pernyataan berikut?

    alist = [ [4, [True, False], 6, 8], [888, 999] ]
    if alist[0][1][0]:
       print(alist[1][0])
    else:
       print(alist[1][1])
    

  • 6
  • 6 ada di daftar yang salah. alist[1] mengacu pada item kedua dalam daftar, yaitu [888.999]
  • 8
  • 8 ada di daftar yang salah. alist[1] mengacu pada item kedua dalam daftar, yaitu [888.999]
  • 888
  • Ya, alist[0][1][0] adalah True dan alist[1] adalah daftar kedua, item pertama adalah 888
  • 999
  • alist[0][1][0] Benar. Perhatikan lagi pernyataan if

Anda telah mencoba aktivitas di halaman ini

# Python3 code to demonstrate working of1# Python3 code to demonstrate working of7 # Extract selective keys' values [ Including Nested Keys ]1 # Extract selective keys' values [ Including Nested Keys ]2# Python3 code to demonstrate working of2 # Extract selective keys' values [ Including Nested Keys ]4 # Extract selective keys' values [ Including Nested Keys ]_________________17171717175175_________________________________________________________________________________________________________________________________________________________________________________________________________________________________

 

# Using recursion + loop + yield_1

# Using recursion + loop + yield2# Using recursion + loop + yield3 # Using recursion + loop + yield4# Using recursion + loop + yield5# Using recursion + loop + yield6# Using recursion + loop + yield7# Using recursion + loop + yield6# Using recursion + loop + yield9 def0def1def2def3# Using recursion + loop + yield6def5 def0def7def8def9def0get_vals(test_dict, key_list):1get_vals(test_dict, key_list):2

Diberikan daftar daftar, tulis program Python untuk mengekstrak elemen pertama dari setiap subdaftar dalam daftar daftar yang diberikan. Contoh

Input : [[1, 2], [3, 4, 5], [6, 7, 8, 9]]
Output : [1, 3, 6]

Input : [['x', 'y', 'z'], ['m'], ['a', 'b'], ['u', 'v']]
Output : ['x', 'm', 'a', 'u']
_

Pendekatan #1. Daftar pemahaman

Python3




# Python3 program to extract first and last

# element of each sublist in a list of lists

 

def Extract(lst):

    

[1, 3, 6]
0
[1, 3, 6]
1
[1, 3, 6]
2
[1, 3, 6]
3
[1, 3, 6]
4
[1, 3, 6]
5
[1, 3, 6]
6
[1, 3, 6]
7

    

[1, 3, 6]
_9

[1, 3, 6]
0
[1, 3, 6]
1
[1, 3, 6]
2
[1, 3, 6]
3
[1, 3, 6]
4
[1, 3, 6]
5
[1, 3, 6]
6
[1, 3, 6]
7
[1, 3, 6]
4
[1, 3, 6]
9
[1, 3, 6]
4
[1, 3, 6]
1
[1, 3, 6]
6
[1, 3, 6]
3
[1, 3, 6]
4
[1, 3, 6]
5
[1, 3, 6]
4
[1, 3, 6]
7
[1, 3, 6]
4
[1, 3, 6]
9
[1, 3, 6]
0

Bab ini diambil dari buku A Primer on Scientific Programming with Python oleh H. P. Langtangen, edisi ke-5, Springer, 2016

Daftar bersarang adalah objek daftar di mana elemen dalam daftar dapat berupa daftar itu sendiri. Beberapa contoh akan memotivasi daftar bersarang dan mengilustrasikan operasi dasar pada daftar tersebut

Tabel sebagai daftar baris atau kolom

Data tabel kami sejauh ini menggunakan satu daftar terpisah untuk setiap kolom. Jika ada \( n \) kolom, kita perlu \( n \) daftar objek untuk mewakili data dalam tabel. Namun, kami menganggap tabel sebagai satu entitas, bukan kumpulan kolom \( n \). Oleh karena itu wajar untuk menggunakan satu argumen untuk seluruh tabel. Ini mudah dicapai dengan menggunakan daftar bersarang, di mana setiap entri dalam daftar adalah daftar itu sendiri. Objek tabel, misalnya, adalah daftar daftar, baik daftar elemen baris tabel atau daftar elemen kolom tabel. Berikut adalah contoh di mana tabel adalah daftar dua kolom, dan setiap kolom adalah daftar angka

Cdegrees = range(-20, 41, 5)   # -20, -15, ..., 35, 40
Fdegrees = [(9.0/5)*C + 32 for C in Cdegrees]

table = [Cdegrees, Fdegrees]
_(Perhatikan bahwa nilai apa pun dalam \( [41,45] \) dapat digunakan sebagai argumen kedua (nilai berhenti) untuk
table = [[C, F] for C, F in zip(Cdegrees, Fdegrees)]
6 dan akan memastikan bahwa 40 termasuk dalam rentang angka yang dihasilkan. )

Dengan subskrip

table = [[C, F] for C, F in zip(Cdegrees, Fdegrees)]
7 kita dapat mengakses elemen pertama di
table = [[C, F] for C, F in zip(Cdegrees, Fdegrees)]
8, yang tidak lain adalah daftar
table = [[C, F] for C, F in zip(Cdegrees, Fdegrees)]
9, dan dengan
[[-20, -4.0], [-15, 5.0], [-10, 14.0], ............., [40, 104.0]]
0 kita mencapai elemen ketiga di elemen pertama, i. e. ,
[[-20, -4.0], [-15, 5.0], [-10, 14.0], ............., [40, 104.0]]
_1


Gambar 2. Dua cara membuat tabel sebagai daftar bersarang. Kiri. tabel kolom

[[-20, -4.0], [-15, 5.0], [-10, 14.0], ............., [40, 104.0]]
2 dan
[[-20, -4.0], [-15, 5.0], [-10, 14.0], ............., [40, 104.0]]
3, di mana
[[-20, -4.0], [-15, 5.0], [-10, 14.0], ............., [40, 104.0]]
2 dan
[[-20, -4.0], [-15, 5.0], [-10, 14.0], ............., [40, 104.0]]
3 adalah daftar. Benar. tabel baris, di mana setiap baris
[[-20, -4.0], [-15, 5.0], [-10, 14.0], ............., [40, 104.0]]
6 adalah daftar dua pelampung

Python mengekstrak nilai dari daftar bersarang

Namun, data tabular dengan baris dan kolom biasanya memiliki konvensi bahwa data yang mendasarinya adalah daftar bersarang di mana indeks pertama menghitung baris dan indeks kedua menghitung kolom. Untuk memiliki

table = [[C, F] for C, F in zip(Cdegrees, Fdegrees)]
_8 pada formulir ini, kita harus membuat
table = [[C, F] for C, F in zip(Cdegrees, Fdegrees)]
8 sebagai daftar
[[-20, -4.0], [-15, 5.0], [-10, 14.0], ............., [40, 104.0]]
6 pasang. Indeks pertama kemudian akan melewati baris
[[-20, -4.0], [-15, 5.0], [-10, 14.0], ............., [40, 104.0]]
6. Inilah cara kami membuat daftar bersarang

table = []
for C, F in zip(Cdegrees, Fdegrees):
    table.append([C, F])
Kami dapat mempersingkat segmen kode ini dengan memperkenalkan pemahaman daftar.
table = [[C, F] for C, F in zip(Cdegrees, Fdegrees)]
Konstruksi ini melewati pasangan
[[-20, -4.0], [-15, 5.0], [-10, 14.0], ............., [40, 104.0]]
2 dan
[[-20, -4.0], [-15, 5.0], [-10, 14.0], ............., [40, 104.0]]
3, dan untuk setiap lintasan dalam loop kita membuat elemen daftar
[[-20, -4.0], [-15, 5.0], [-10, 14.0], ............., [40, 104.0]]
6

Subskrip

import pprint
pprint.pprint(table)
4 mengacu pada elemen kedua di
table = [[C, F] for C, F in zip(Cdegrees, Fdegrees)]
8, yang merupakan pasangan
[[-20, -4.0], [-15, 5.0], [-10, 14.0], ............., [40, 104.0]]
6, sedangkan
import pprint
pprint.pprint(table)
7 adalah nilai
[[-20, -4.0], [-15, 5.0], [-10, 14.0], ............., [40, 104.0]]
2 dan
import pprint
pprint.pprint(table)
9 adalah nilai
[[-20, -4.0], [-15, 5.0], [-10, 14.0], ............., [40, 104.0]]
3. Gambar mengilustrasikan daftar kolom dan daftar pasangan. Dengan menggunakan gambar ini, Anda dapat menyadari bahwa indeks pertama mencari elemen di daftar terluar, dan elemen ini dapat diindeks dengan indeks kedua.

Mencetak objek

Modul untuk cetakan objek yang cantik

Kami dapat menulis

[[-20, -4.0],
 [-15, 5.0],
 [-10, 14.0],
 [-5, 23.0],
 [0, 32.0],
 [5, 41.0],
 [10, 50.0],
 [15, 59.0],
 [20, 68.0],
 [25, 77.0],
 [30, 86.0],
 [35, 95.0],
 [40, 104.0]]
_1 untuk segera melihat daftar bersarang
table = [[C, F] for C, F in zip(Cdegrees, Fdegrees)]
8 dari bagian sebelumnya. Faktanya, objek Python apa pun
[[-20, -4.0],
 [-15, 5.0],
 [-10, 14.0],
 [-5, 23.0],
 [0, 32.0],
 [5, 41.0],
 [10, 50.0],
 [15, 59.0],
 [20, 68.0],
 [25, 77.0],
 [30, 86.0],
 [35, 95.0],
 [40, 104.0]]
_3 dapat dicetak ke layar dengan perintah
[[-20, -4.0],
 [-15, 5.0],
 [-10, 14.0],
 [-5, 23.0],
 [0, 32.0],
 [5, 41.0],
 [10, 50.0],
 [15, 59.0],
 [20, 68.0],
 [25, 77.0],
 [30, 86.0],
 [35, 95.0],
 [40, 104.0]]
4. Outputnya biasanya satu baris, dan baris ini bisa menjadi sangat panjang jika daftarnya memiliki banyak elemen. Misalnya, daftar panjang seperti variabel
table = [[C, F] for C, F in zip(Cdegrees, Fdegrees)]
_8 kami, membutuhkan garis yang cukup panjang saat dicetak

[[-20, -4.0], [-15, 5.0], [-10, 14.0], ............., [40, 104.0]]

Memisahkan keluaran menjadi beberapa baris yang lebih pendek membuat tata letak lebih bagus dan lebih mudah dibaca. Modul

[[-20, -4.0],
 [-15, 5.0],
 [-10, 14.0],
 [-5, 23.0],
 [0, 32.0],
 [5, 41.0],
 [10, 50.0],
 [15, 59.0],
 [20, 68.0],
 [25, 77.0],
 [30, 86.0],
 [35, 95.0],
 [40, 104.0]]
_6 menawarkan fungsionalitas cetak yang cantik untuk tujuan ini. Penggunaan
[[-20, -4.0],
 [-15, 5.0],
 [-10, 14.0],
 [-5, 23.0],
 [0, 32.0],
 [5, 41.0],
 [10, 50.0],
 [15, 59.0],
 [20, 68.0],
 [25, 77.0],
 [30, 86.0],
 [35, 95.0],
 [40, 104.0]]
_6 terlihat seperti

import pprint
pprint.pprint(table)
dan output yang sesuai menjadi
[[-20, -4.0],
 [-15, 5.0],
 [-10, 14.0],
 [-5, 23.0],
 [0, 32.0],
 [5, 41.0],
 [10, 50.0],
 [15, 59.0],
 [20, 68.0],
 [25, 77.0],
 [30, 86.0],
 [35, 95.0],
 [40, 104.0]]
Dengan dokumen ini muncul modul
[[-20, -4.0],
 [-15, 5.0],
 [-10, 14.0],
 [-5, 23.0],
 [0, 32.0],
 [5, 41.0],
 [10, 50.0],
 [15, 59.0],
 [20, 68.0],
 [25, 77.0],
 [30, 86.0],
 [35, 95.0],
 [40, 104.0]]
6 yang sedikit dimodifikasi dengan nama
[[-20, -4.0],
 [-15, 5.0],
 [-10, 14.0],
 [-5, 23.0],
 [0, 32.0],
 [5, 41.0],
 [10, 50.0],
 [15, 59.0],
 [20, 68.0],
 [25, 77.0],
 [30, 86.0],
 [35, 95.0],
 [40, 104.0]]
9. Modul ini memungkinkan kontrol format penuh pencetakan
>>> import pprint, scitools.pprint2
>>> somelist = [15.8, [0.2, 1.7]]
>>> pprint.pprint(somelist)
[15.800000000000001, [0.20000000000000001, 1.7]]
>>> scitools.pprint2.pprint(somelist)
[15.8, [0.2, 1.7]]
>>> # default output is '%g', change this to
>>> scitools.pprint2.float_format = '%.2e'
>>> scitools.pprint2.pprint(somelist)
[1.58e+01, [2.00e-01, 1.70e+00]]
0 objek dalam daftar dengan menentukan
>>> import pprint, scitools.pprint2
>>> somelist = [15.8, [0.2, 1.7]]
>>> pprint.pprint(somelist)
[15.800000000000001, [0.20000000000000001, 1.7]]
>>> scitools.pprint2.pprint(somelist)
[15.8, [0.2, 1.7]]
>>> # default output is '%g', change this to
>>> scitools.pprint2.float_format = '%.2e'
>>> scitools.pprint2.pprint(somelist)
[1.58e+01, [2.00e-01, 1.70e+00]]
1 sebagai string format printf. Contoh berikut menunjukkan bagaimana format keluaran bilangan real dapat diubah.
>>> import pprint, scitools.pprint2
>>> somelist = [15.8, [0.2, 1.7]]
>>> pprint.pprint(somelist)
[15.800000000000001, [0.20000000000000001, 1.7]]
>>> scitools.pprint2.pprint(somelist)
[15.8, [0.2, 1.7]]
>>> # default output is '%g', change this to
>>> scitools.pprint2.float_format = '%.2e'
>>> scitools.pprint2.pprint(somelist)
[1.58e+01, [2.00e-01, 1.70e+00]]
Seperti yang bisa dilihat dari sesi ini, modul
[[-20, -4.0],
 [-15, 5.0],
 [-10, 14.0],
 [-5, 23.0],
 [0, 32.0],
 [5, 41.0],
 [10, 50.0],
 [15, 59.0],
 [20, 68.0],
 [25, 77.0],
 [30, 86.0],
 [35, 95.0],
 [40, 104.0]]
6 menulis bilangan floating-point dengan banyak digit, bahkan begitu banyak sehingga kita secara eksplisit melihat kesalahan pembulatan. Banyak yang menganggap jenis keluaran ini mengganggu dan bahwa keluaran default dari modul
[[-20, -4.0],
 [-15, 5.0],
 [-10, 14.0],
 [-5, 23.0],
 [0, 32.0],
 [5, 41.0],
 [10, 50.0],
 [15, 59.0],
 [20, 68.0],
 [25, 77.0],
 [30, 86.0],
 [35, 95.0],
 [40, 104.0]]
9 lebih seperti yang diinginkan dan diharapkan

Modul ________60______6 dan

[[-20, -4.0],
 [-15, 5.0],
 [-10, 14.0],
 [-5, 23.0],
 [0, 32.0],
 [5, 41.0],
 [10, 50.0],
 [15, 59.0],
 [20, 68.0],
 [25, 77.0],
 [30, 86.0],
 [35, 95.0],
 [40, 104.0]]
9 juga memiliki fungsi
>>> import pprint, scitools.pprint2
>>> somelist = [15.8, [0.2, 1.7]]
>>> pprint.pprint(somelist)
[15.800000000000001, [0.20000000000000001, 1.7]]
>>> scitools.pprint2.pprint(somelist)
[15.8, [0.2, 1.7]]
>>> # default output is '%g', change this to
>>> scitools.pprint2.float_format = '%.2e'
>>> scitools.pprint2.pprint(somelist)
[1.58e+01, [2.00e-01, 1.70e+00]]
6, yang berfungsi sebagai fungsi
[[-20, -4.0],
 [-15, 5.0],
 [-10, 14.0],
 [-5, 23.0],
 [0, 32.0],
 [5, 41.0],
 [10, 50.0],
 [15, 59.0],
 [20, 68.0],
 [25, 77.0],
 [30, 86.0],
 [35, 95.0],
 [40, 104.0]]
6, tetapi mengembalikan string yang diformat cantik alih-alih mencetak string

s = pprint.pformat(somelist)
print s
Pernyataan
>>> import pprint, scitools.pprint2
>>> somelist = [15.8, [0.2, 1.7]]
>>> pprint.pprint(somelist)
[15.800000000000001, [0.20000000000000001, 1.7]]
>>> scitools.pprint2.pprint(somelist)
[15.8, [0.2, 1.7]]
>>> # default output is '%g', change this to
>>> scitools.pprint2.float_format = '%.2e'
>>> scitools.pprint2.pprint(somelist)
[1.58e+01, [2.00e-01, 1.70e+00]]
8 terakhir ini dicetak sama dengan
>>> import pprint, scitools.pprint2
>>> somelist = [15.8, [0.2, 1.7]]
>>> pprint.pprint(somelist)
[15.800000000000001, [0.20000000000000001, 1.7]]
>>> scitools.pprint2.pprint(somelist)
[15.8, [0.2, 1.7]]
>>> # default output is '%g', change this to
>>> scitools.pprint2.float_format = '%.2e'
>>> scitools.pprint2.pprint(somelist)
[1.58e+01, [2.00e-01, 1.70e+00]]
9

Pencetakan manual

Banyak yang akan berpendapat bahwa data tabular seperti yang disimpan dalam daftar

table = [[C, F] for C, F in zip(Cdegrees, Fdegrees)]
8 bersarang tidak dicetak dengan cara yang sangat cantik oleh modul
[[-20, -4.0],
 [-15, 5.0],
 [-10, 14.0],
 [-5, 23.0],
 [0, 32.0],
 [5, 41.0],
 [10, 50.0],
 [15, 59.0],
 [20, 68.0],
 [25, 77.0],
 [30, 86.0],
 [35, 95.0],
 [40, 104.0]]
6. Orang lebih suka mengharapkan hasil yang cantik menjadi tabel dengan dua kolom yang disejajarkan dengan baik. Untuk menghasilkan keluaran seperti itu, kita perlu mengkodekan pemformatan secara manual. Ini cukup mudah. kita mengulang setiap baris, mengekstrak dua elemen
[[-20, -4.0], [-15, 5.0], [-10, 14.0], ............., [40, 104.0]]
2 dan
[[-20, -4.0], [-15, 5.0], [-10, 14.0], ............., [40, 104.0]]
3 di setiap baris, dan mencetaknya di bidang dengan lebar tetap menggunakan sintaks printf. Kode berjalan sebagai berikut

for C, F in table:
    print '%5d %5.1f' % (C, F)

Mengekstrak sublist

Python memiliki sintaks yang bagus untuk mengekstraksi bagian dari struktur daftar. Bagian seperti itu dikenal sebagai sublist atau irisan

s = pprint.pformat(somelist)
print s
_4 adalah sublist yang dimulai dengan indeks
s = pprint.pformat(somelist)
print s
5 di
s = pprint.pformat(somelist)
print s
6 dan berlanjut hingga akhir
s = pprint.pformat(somelist)
print s
6

>>> A = [2, 3.5, 8, 10]
>>> A[2:]
[8, 10]
s = pprint.pformat(somelist)
print s
8 adalah sublist yang dimulai dengan indeks
s = pprint.pformat(somelist)
print s
5 di
s = pprint.pformat(somelist)
print s
6 dan berlanjut hingga dan termasuk indeks
for C, F in table:
    print '%5d %5.1f' % (C, F)
1. Pastikan Anda ingat bahwa elemen yang sesuai dengan indeks
for C, F in table:
    print '%5d %5.1f' % (C, F)
2 tidak termasuk dalam sublist.
table = []
for C, F in zip(Cdegrees, Fdegrees):
    table.append([C, F])
0
for C, F in table:
    print '%5d %5.1f' % (C, F)
3 adalah sublist yang dimulai dengan indeks 0 di
s = pprint.pformat(somelist)
print s
6 dan berlanjut hingga dan termasuk elemen dengan indeks
for C, F in table:
    print '%5d %5.1f' % (C, F)
5.
table = []
for C, F in zip(Cdegrees, Fdegrees):
    table.append([C, F])
1
for C, F in table:
    print '%5d %5.1f' % (C, F)
6 mengekstrak semua elemen kecuali yang pertama dan terakhir (ingat bahwa indeks
for C, F in table:
    print '%5d %5.1f' % (C, F)
7 mengacu pada elemen terakhir), dan
for C, F in table:
    print '%5d %5.1f' % (C, F)
8 adalah seluruh daftar.
table = []
for C, F in zip(Cdegrees, Fdegrees):
    table.append([C, F])
_2

Dalam daftar bersarang, kami dapat menggunakan irisan di indeks pertama, mis. g. ,

table = []
for C, F in zip(Cdegrees, Fdegrees):
    table.append([C, F])
_3Kita juga bisa mengiris indeks kedua, atau kedua indeks.
table = []
for C, F in zip(Cdegrees, Fdegrees):
    table.append([C, F])
_4Perhatikan bahwa
for C, F in table:
    print '%5d %5.1f' % (C, F)
9 membuat daftar
>>> A = [2, 3.5, 8, 10]
>>> A[2:]
[8, 10]
0 dengan tiga elemen. Slice
>>> A = [2, 3.5, 8, 10]
>>> A[2:]
[8, 10]
1 bekerja pada sublist ini dan memilih dua elemen pertamanya, dengan indeks 0 dan 1

Subdaftar selalu merupakan salinan dari daftar asli, jadi jika Anda memodifikasi subdaftar, daftar asli tetap tidak berubah dan sebaliknya

table = []
for C, F in zip(Cdegrees, Fdegrees):
    table.append([C, F])
5Fakta bahwa mengiris membuat salinan juga dapat diilustrasikan dengan kode berikut.
table = []
for C, F in zip(Cdegrees, Fdegrees):
    table.append([C, F])
6Ekspresi boolean
>>> A = [2, 3.5, 8, 10]
>>> A[2:]
[8, 10]
2 adalah
>>> A = [2, 3.5, 8, 10]
>>> A[2:]
[8, 10]
3 jika semua elemen di
>>> A = [2, 3.5, 8, 10]
>>> A[2:]
[8, 10]
4 sama dengan elemen yang sesuai di
s = pprint.pformat(somelist)
print s
6. Tes
>>> A = [2, 3.5, 8, 10]
>>> A[2:]
[8, 10]
_6 adalah
>>> A = [2, 3.5, 8, 10]
>>> A[2:]
[8, 10]
3 jika
s = pprint.pformat(somelist)
print s
6 dan
>>> A = [2, 3.5, 8, 10]
>>> A[2:]
[8, 10]
4 adalah nama untuk daftar yang sama. Pengaturan
table = []
for C, F in zip(Cdegrees, Fdegrees):
    table.append([C, F])
_00 membuat
[[-20, -4.0], [-15, 5.0], [-10, 14.0], ............., [40, 104.0]]
2 merujuk ke objek daftar yang sama dengan
s = pprint.pformat(somelist)
print s
6, sementara
table = []
for C, F in zip(Cdegrees, Fdegrees):
    table.append([C, F])
03 membuat
>>> A = [2, 3.5, 8, 10]
>>> A[2:]
[8, 10]
4 merujuk ke salinan daftar yang dirujuk oleh
s = pprint.pformat(somelist)
print s
6

Contoh

Kami mengakhiri informasi ini pada sublists dengan menulis bagian dari

table = [[C, F] for C, F in zip(Cdegrees, Fdegrees)]
8 daftar
[[-20, -4.0], [-15, 5.0], [-10, 14.0], ............., [40, 104.0]]
6 baris (lihat bagian ) di mana derajat Celcius antara 10 dan 35 (tidak termasuk 35)

table = []
for C, F in zip(Cdegrees, Fdegrees):
    table.append([C, F])
7Anda harus selalu berhenti membaca dan meyakinkan diri sendiri bahwa Anda memahami mengapa segmen kode menghasilkan keluaran cetak. Dalam contoh terakhir ini,
table = []
for C, F in zip(Cdegrees, Fdegrees):
    table.append([C, F])
_08 mengembalikan indeks yang sesuai dengan nilai
table = []
for C, F in zip(Cdegrees, Fdegrees):
    table.append([C, F])
09 dalam daftar
table = [[C, F] for C, F in zip(Cdegrees, Fdegrees)]
9. Melihat elemen
table = [[C, F] for C, F in zip(Cdegrees, Fdegrees)]
_9, seseorang menyadari (melakukannya. ) bahwa
table = []
for C, F in zip(Cdegrees, Fdegrees):
    table.append([C, F])
12 perulangan setara dengan
table = []
for C, F in zip(Cdegrees, Fdegrees):
    table.append([C, F])
8Perulangan ini berjalan di atas indeks \( 6, 7, \ldots, 10 \) di
table = [[C, F] for C, F in zip(Cdegrees, Fdegrees)]
8

Melintasi daftar bersarang

Kita telah melihat bahwa melintasi daftar bersarang

table = [[C, F] for C, F in zip(Cdegrees, Fdegrees)]
8 dapat dilakukan dengan pengulangan bentuk

table = []
for C, F in zip(Cdegrees, Fdegrees):
    table.append([C, F])
_9Ini adalah kode alami ketika kita tahu bahwa
table = [[C, F] for C, F in zip(Cdegrees, Fdegrees)]
8 adalah daftar dari
[[-20, -4.0], [-15, 5.0], [-10, 14.0], ............., [40, 104.0]]
6 daftar. Sekarang kita akan membahas daftar bersarang yang lebih umum di mana kita tidak perlu tahu berapa banyak elemen yang ada di setiap elemen daftar dari daftar

Misalkan kita menggunakan daftar bersarang

table = []
for C, F in zip(Cdegrees, Fdegrees):
    table.append([C, F])
_17 untuk mencatat skor pemain dalam sebuah game.
table = []
for C, F in zip(Cdegrees, Fdegrees):
    table.append([C, F])
_18 memegang daftar skor historis yang diperoleh oleh pemain nomor
s = pprint.pformat(somelist)
print s
5. Pemain yang berbeda telah memainkan permainan dengan jumlah yang berbeda, jadi panjang
table = []
for C, F in zip(Cdegrees, Fdegrees):
    table.append([C, F])
18 tergantung pada
s = pprint.pformat(somelist)
print s
5. Beberapa kode dapat membantu memperjelas ini

table = [[C, F] for C, F in zip(Cdegrees, Fdegrees)]
0Daftar
table = []
for C, F in zip(Cdegrees, Fdegrees):
    table.append([C, F])
17 memiliki tiga elemen, setiap elemen sesuai dengan pemain. Elemen no.
table = []
for C, F in zip(Cdegrees, Fdegrees):
    table.append([C, F])
_23 dalam daftar
table = []
for C, F in zip(Cdegrees, Fdegrees):
    table.append([C, F])
24 sesuai dengan skor yang diperoleh dalam permainan nomor
table = []
for C, F in zip(Cdegrees, Fdegrees):
    table.append([C, F])
23 dimainkan oleh pemain nomor
table = []
for C, F in zip(Cdegrees, Fdegrees):
    table.append([C, F])
26. Panjang daftar ________ 48 _______ 24 bervariasi dan sama dengan 4, 1, dan 8 untuk ________ 48_______26 masing-masing sama dengan 0, 1, dan 2

Dalam kasus umum kami mungkin memiliki \( n \) pemain, dan beberapa mungkin telah memainkan permainan ini berkali-kali, membuat

table = []
for C, F in zip(Cdegrees, Fdegrees):
    table.append([C, F])
17 berpotensi menjadi daftar bersarang yang besar. Bagaimana kita bisa melintasi daftar
table = []
for C, F in zip(Cdegrees, Fdegrees):
    table.append([C, F])
_17 dan menuliskannya dalam format tabel dengan kolom yang diformat dengan baik? . Misalnya, data yang diinisialisasi di atas dapat ditulis sebagai

table = [[C, F] for C, F in zip(Cdegrees, Fdegrees)]
1Dalam sebuah program, kita harus menggunakan dua loop bersarang, satu untuk elemen di
table = []
for C, F in zip(Cdegrees, Fdegrees):
    table.append([C, F])
17 dan satu untuk elemen di sublists dari
table = []
for C, F in zip(Cdegrees, Fdegrees):
    table.append([C, F])
17. Contoh di bawah ini akan memperjelasnya

Ada dua cara dasar melintasi daftar bersarang. baik kita menggunakan indeks bilangan bulat untuk setiap indeks, atau kita menggunakan variabel untuk elemen daftar. Mari kita contohkan versi berbasis indeks

table = [[C, F] for C, F in zip(Cdegrees, Fdegrees)]
2Dengan tanda koma setelah string cetak, kami menghindari baris baru sehingga nilai kolom dalam tabel (i. e. , skor untuk satu pemain) muncul di baris yang sama. Perintah tunggal
>>> import pprint, scitools.pprint2
>>> somelist = [15.8, [0.2, 1.7]]
>>> pprint.pprint(somelist)
[15.800000000000001, [0.20000000000000001, 1.7]]
>>> scitools.pprint2.pprint(somelist)
[15.8, [0.2, 1.7]]
>>> # default output is '%g', change this to
>>> scitools.pprint2.float_format = '%.2e'
>>> scitools.pprint2.pprint(somelist)
[1.58e+01, [2.00e-01, 1.70e+00]]
_8 setelah perulangan
table = []
for C, F in zip(Cdegrees, Fdegrees):
    table.append([C, F])
34 menambahkan baris baru setelah setiap baris tabel. Pembaca didorong untuk melalui loop dengan tangan dan mensimulasikan apa yang terjadi di setiap pernyataan (gunakan daftar
table = []
for C, F in zip(Cdegrees, Fdegrees):
    table.append([C, F])
17 sederhana yang diinisialisasi di atas)

Versi alternatif tempat kami menggunakan variabel untuk mengulangi elemen dalam daftar

table = []
for C, F in zip(Cdegrees, Fdegrees):
    table.append([C, F])
17 dan subdaftarnya terlihat seperti ini

table = [[C, F] for C, F in zip(Cdegrees, Fdegrees)]
_3Sekali lagi, pembaca harus menelusuri kode dengan tangan dan menyadari apa nilai
table = []
for C, F in zip(Cdegrees, Fdegrees):
    table.append([C, F])
37 dan
table = []
for C, F in zip(Cdegrees, Fdegrees):
    table.append([C, F])
38 berada di setiap lintasan loop

Dalam kasus yang sangat umum, kami memiliki daftar bersarang dengan banyak indeks.

table = []
for C, F in zip(Cdegrees, Fdegrees):
    table.append([C, F])
_39. Untuk mengunjungi setiap elemen dalam daftar, kami menggunakan loop
table = []
for C, F in zip(Cdegrees, Fdegrees):
    table.append([C, F])
12 bersarang sebanyak indeks. Dengan empat indeks, iterasi atas indeks bilangan bulat terlihat seperti

Bagaimana cara mengekstrak elemen dari daftar bersarang di Python?

Hapus item dari Daftar Bersarang. Jika Anda mengetahui indeks item yang Anda inginkan, Anda dapat menggunakan metode pop() . Itu mengubah daftar dan mengembalikan item yang dihapus. Jika Anda tidak membutuhkan nilai yang dihapus, gunakan pernyataan del.

Bagaimana cara mengekstrak elemen dari daftar di dalam daftar 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

Bagaimana cara memilih elemen dari daftar bersarang?

Menggunakan metode index() . Jika ada, temukan indeks sub_list dan indeks elemen dalam sub_list tersebut.

Bagaimana cara mengekstrak nilai dari daftar dengan Python?

Berikut adalah 3 pendekatan untuk mengekstrak nilai kamus sebagai daftar dengan Python. .
(1) Menggunakan fungsi list(). my_list = daftar(my_dict. nilai())
(2) Menggunakan Pemahaman Daftar. my_list = [i untuk i di my_dict. nilai()]
(3) Menggunakan For Loop. my_list = [] untuk i di my_dict. nilai(). daftarku. tambahkan (i)