Bagaimana Anda mengisi daftar dengan python?

Pada artikel ini kita akan membahas cara membuat daftar dan menginisialisasi dengan nilai yang sama

Membuat daftar nilai yang sama dengan [] dan kalikan

Misalkan kita ingin membuat daftar string, yang berisi 20 string yang sama i. e. 'Hai'

['Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi']

Mari kita lihat bagaimana melakukannya i. e

''' create a list by [] and multiply by repeat count '''
listOfStrings1 = ['Hi'] * 20
_

[‘Hai’] akan membuat daftar dengan nilai tunggal, lalu kita dapat mengalikan daftar ini dengan 20. Itu akan mengulangi isi daftar 20 kali
Jadi, daftar konten akan menjadi sekarang i. e

['Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi']

Membuat daftar nilai yang sama dengan Pemahaman Daftar dengan range()

Ini adalah cara lain untuk membuat daftar nilai yang sama menggunakan range() i. e

''' 
    Use List Comprehension with range() to initialize a list by 20 elements 0
    It will iterate over the tange from 0 to 20 and for
    each entry, it will add 'Hi' to the list and in the end 
    returns the list to listOfNums
'''
listOfStrings2 = ['Hi' for i in range(20)]

Dalam pemahaman daftar ini, for loop akan mengulangi objek rentang 20 kali dan di setiap iterasi akan menambahkan 'Hai' dalam daftar
Jadi, daftar akan melapisi 20 elemen 'Hai' i. e

['Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi']
_

Contoh lengkapnya adalah sebagai berikut,

def main():
    
    ''' create a list by [] and multiply by repeat count '''
    listOfStrings1 = ['Hi'] * 20

    print(listOfStrings1)
    

    ''' 
    Use List Comprehension with range() to initialize a list by 20 elements 0
    It will iterate over the tange from 0 to 20 and for
    each entry, it will add 'Hi' to the list and in the end 
    returns the list to listOfNums
    '''
    listOfStrings2 = ['Hi' for i in range(20)]
    
    print(listOfStrings2)
    
    
if __name__ == '__main__':
    main()

Keluaran

['Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi']
['Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi', 'Hi']
_

 

Artikel Terkait

  • Buat Daftar item tunggal yang diulang N kali dengan Python
  • Urutkan NumPy Array dalam urutan menurun dengan Python
  • Fungsi peta python () - Tutorial
  • Bagaimana cara membuat dan menginisialisasi daftar daftar dengan python?
  • Piton. 6 Cara berbeda untuk membuat Kamus
  • Piton. Bagaimana cara mengganti satu atau beberapa karakter dalam…
  • panda. berlaku(). Terapkan fungsi ke setiap baris/kolom di…
  • Panda. Terapkan Fungsi ke Kolom
  • Bagaimana Cara Menambahkan Item ke Kamus dengan Python?
  • Hapus duplikat dari NumPy Array dengan Python

Membuat daftar list dengan python memang sedikit rumit. Pada artikel ini, kita akan membahas 4 cara berbeda untuk membuat dan menginisialisasi daftar daftar

Cara yang salah untuk membuat dan menginisialisasi daftar daftar dengan python

Mari kita mulai dari dasar, cara tercepat untuk membuat dan menginisialisasi daftar normal dengan nilai yang sama di python adalah,

# Creating a list with same values
list_of_num = [5]* 10

print(list_of_num)

Keluaran

[5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
_

Itu membuat daftar ukuran 10 dengan elemen yang sama i. e. 5. Pada dasarnya itu menyalin objek di dalam [], 10 kali. Mari gunakan logika yang sama untuk membuat dan menginisialisasi daftar daftar,

# Create a list with 4 references of same sub list
list_of_num = [[]] * 4

print('List of lists:')
print(list_of_num)
_

Keluaran

[[], [], [], []]

Di sini kami menyediakan daftar kosong [] di dalam [] dan mengalikannya dengan 4. Itu membuat 4 referensi berbeda dari [] dan memasukkannya ke dalam daftar baru. Ya, ini bukan 4 daftar kosong di dalam daftar utama, tetapi ini bukan objek daftar yang berbeda, melainkan hanya referensi dari daftar pertama. Mari konfirmasikan ini dengan mengulangi daftar dan mencetak id dari setiap objek sub daftar,

for elem in list_of_num:
    print(id(elem))

Keluaran

200792200
200792200
200792200
200792200

Semua entri dalam daftar memiliki ID yang sama i. e. mereka menunjuk ke objek daftar yang sama

Mengapa itu penting?

Mari masukkan elemen ke dalam sub daftar ke-3 dari daftar utama i. e

# Insert 11 into the 3rd sub list
list_of_num[2].append(11)

Sekarang periksa isi daftar utama,

print('Modified list of lists:')
print(list_of_num)

Keluaran

Modified list of lists:
[[11], [11], [11], [11]]

Elemen dimasukkan ke dalam semua sub daftar, karena ini bukan daftar yang berbeda. Kami tidak mengharapkan ini pada awalnya, kami hanya ingin memasukkan elemen ke dalam sub-daftar ke-3. Jadi, ini membuktikan bahwa ini adalah cara yang salah untuk membuat dan menginisialisasi daftar dari daftar. Mari kita lihat cara yang benar,

Cara yang benar untuk Membuat dan Menginisialisasi daftar daftar dengan python

Mari kita lihat 4 cara berbeda namun benar untuk membuat dan menginisialisasi daftar daftar

Gunakan for loop untuk Membuat dan Menginisialisasi daftar daftar

Misalkan kita ingin membuat daftar, yang secara internal berisi 5 sub daftar yang berbeda. Untuk melakukan itu, pertama-tama kita akan membuat daftar kosong baru, kemudian kita akan mengulang dari angka 0 sampai 4 menggunakan perulangan for dan di setiap iterasi, kita akan menambahkan daftar kosong ke daftar baru i. e

# Create an empty list
list_of_lists = []
# Iterate over a sequence of numbers from 0 to 4
for i in range(5):
    # In each iteration, add an empty list to the main list
    list_of_lists.append([])

print('List of lists:')
print(list_of_lists)

Keluaran

[5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
_0

Sekarang mari kita pastikan bahwa jika semua sub daftar dalam daftar utama sebenarnya adalah daftar yang berbeda,

[5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
_1

Keluaran

[5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
_2

Semua sub daftar memiliki ID yang berbeda, yang menegaskan bahwa ini adalah objek yang berbeda

Mari masukkan elemen di sub daftar ke-3,

[5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
_3

Keluaran

[5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
_4

Elemen ditambahkan hanya di sub daftar ke-3, semua sub daftar lainnya tidak terpengaruh. Jadi, ini juga menegaskan bahwa semua sub daftar bukanlah referensi dari daftar yang sama, melainkan objek yang sama sekali berbeda

Gunakan Daftar Pemahaman & rentang () untuk membuat daftar daftar

Menggunakan fungsi range() Python, kita dapat menghasilkan urutan angka dari 0 hingga n-1 dan untuk setiap elemen dalam urutan, buat & tambahkan sub-daftar ke daftar utama menggunakan Pemahaman Daftar i. e

[5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
_5

Keluaran

[5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
_0

Itu membuat daftar dengan 5 sub daftar. Mari konfirmasi apakah setiap sub-daftar adalah objek yang berbeda atau tidak,

[5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
_7

Keluaran

[5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
_8

Ini membuktikan bahwa semua sub list memiliki Identitas yang berbeda

Gunakan Daftar Pemahaman & ulangi() untuk membuat daftar daftar

Dalam modul python itertools menyediakan fungsi repeat(),

[5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
_9

Ini mengembalikan Iterator yang pada gilirannya mengembalikan objek yang diberikan N kali
Kita dapat menggunakannya untuk iterasi dasar dari 0 hingga 4 dan di setiap iterasi kita akan menambahkan sublist ke daftar utama i. e

# Create a list with 4 references of same sub list
list_of_num = [[]] * 4

print('List of lists:')
print(list_of_num)
_0

Keluaran

[5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
_0

Itu mengembalikan daftar dengan 5 sub-daftar. Kami juga dapat mengonfirmasi bahwa semua sub daftar adalah objek yang berbeda,

[5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
_1

Keluaran

# Create a list with 4 references of same sub list
list_of_num = [[]] * 4

print('List of lists:')
print(list_of_num)
_3

Ini membuktikan bahwa semua sub list memiliki Identitas yang berbeda. Meskipun, ini adalah salah satu metode yang paling jarang digunakan untuk membuat daftar daftar, tetapi masih bagus untuk mengetahui hal-hal yang berbeda karena setelah Anda mengetahui API dan kasus penggunaannya, maka Anda dapat menerapkannya ke beberapa skenario lain.

Gunakan Numpy untuk membuat daftar daftar

Modul Numpy di python menyediakan fungsi empty() untuk membuat array Numpy kosong dari bentuk yang diberikan i. e

# Create a list with 4 references of same sub list
list_of_num = [[]] * 4

print('List of lists:')
print(list_of_num)
_4

Ini mengembalikan array Numpy baru dari bentuk yang diberikan

Jadi, sekarang untuk membuat daftar list, kita akan membuat array Numpy 2D menggunakan fungsi empty() dan kemudian mengubahnya menjadi daftar list menggunakan numpy. tolist() fungsi. Sebagai contoh,

# Create a list with 4 references of same sub list
list_of_num = [[]] * 4

print('List of lists:')
print(list_of_num)
_5

Keluaran

[5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
_0

Jadi, kami membuat daftar yang memiliki 5 sublist. Sekarang mari kita pastikan bahwa semua sub daftar adalah objek yang berbeda,

Bagaimana Anda mengisi daftar dengan Python menggunakan for loop?

Anda dapat menggunakan perulangan for untuk membuat daftar elemen dalam tiga langkah. .
Instansiasi daftar kosong
Mengulangi iterable atau berbagai elemen
Tambahkan setiap elemen ke akhir daftar

Bagaimana Anda mengisi daftar kosong dengan Python?

Tambahkan Elemen ke Daftar Kosong. Anda dapat menambahkan elemen ke daftar kosong menggunakan metode append() dan insert() . append() menambahkan elemen ke akhir daftar. insert() menambahkan elemen pada indeks tertentu dari daftar yang Anda pilih.

Bagaimana cara mengisi array dengan Python?

Gunakan Fungsi NumPy fill() untuk Mengisi Array Dengan Nilai . Fungsi NumPy fill() digunakan untuk mengisi array NumPy yang sudah ada dengan nilai yang sama. Fungsi ini mengambil nilai dan tipe data sebagai parameter masukan dan mengisi larik dengan nilai yang ditentukan.

Bagaimana Anda memasukkan data ke dalam daftar dengan Python?

Masukkan daftar menggunakan fungsi input() dan range() .
Pertama, buat daftar kosong
Selanjutnya, terima ukuran daftar dari pengguna (mis. e. , jumlah elemen dalam daftar)
Jalankan loop hingga ukuran daftar menggunakan fungsi for loop dan range()
gunakan fungsi input() untuk menerima nomor dari pengguna