Cara membuat daftar bersarang dengan python

Ada unsur kebingungan mengenai istilah "daftar daftar" dengan Python. Saya menulis tutorial terlengkap ini pada daftar daftar di dunia untuk menghapus semua kebingungan yang dilakukan oleh pemula dalam bahasa pemrograman Python

Show

Tutorial multi-modal ini terdiri dari

  • Kode sumber untuk menyalin tempel di proyek Anda sendiri
  • Kode interaktif yang dapat Anda jalankan di browser Anda
  • Teks penjelasan untuk setiap cuplikan kode
  • Video tangkapan layar yang saya rekam untuk membantu Anda memahami konsep lebih cepat
  • Grafik dan konsep bergambar untuk membantu Anda mendapatkan ide dengan cepat
  • Referensi untuk bacaan lebih lanjut dan tutorial terkait

Jadi, jika Anda bingung dengan daftar daftar, baca terus — dan selesaikan kebingungan Anda untuk selamanya

Apa itu Daftar Daftar?

Definisi. Daftar daftar di Python adalah objek daftar di mana setiap elemen daftar adalah daftar dengan sendirinya. Buat daftar daftar dengan Python menggunakan notasi kurung siku untuk membuat daftar bersarang

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

Cara membuat daftar bersarang dengan python

Apakah Anda ingin mengembangkan keterampilan seorang profesional Python yang berpengetahuan luas—sambil mendapatkan bayaran dalam prosesnya?

Cara membuat daftar bersarang dengan python

Analisis Memori

Penting bagi Anda untuk memahami bahwa daftar hanyalah serangkaian referensi ke lokasi memori

Dengan bermain dengan code visualizer, Anda akan mendapatkan pemahaman yang lebih dalam tentang bagaimana Python bekerja pada intinya

Cukup klik tombol "Berikutnya" untuk melihat bagaimana setiap baris kode terungkap

Buat Daftar Daftar dengan Python

Buat daftar daftar dengan menggunakan notasi tanda kurung siku

Misalnya, untuk membuat daftar daftar nilai bilangan bulat, gunakan

[[1, 2, 3], [4, 5], [6, 7, 8]]
2. Setiap elemen daftar dari daftar luar adalah daftar bersarang itu sendiri

lst = [[1, 2], [3, 4]]

Ada banyak cara yang lebih canggih dan terprogram untuk membuat dan menginisialisasi daftar daftar dengan Python—jangan ragu untuk membaca panduan mendetail kami di blog Finxter

🌍 Tutorial Terkait. Buat dan Inisialisasi Daftar Daftar dengan Python

Konversi Daftar Daftar menjadi Satu Daftar

Katakanlah, Anda ingin mengonversi daftar daftar

[[1, 2, 3], [4, 5], [6, 7, 8]]
2 menjadi satu daftar
[[1, 2, 3], [4, 5], [6, 7, 8]]
4. Bagaimana cara mencapai ini?

  • Pemahaman daftar
    [[1, 2, 3], [4, 5], [6, 7, 8]]
    5 dengan asumsi Anda memiliki daftar daftar
    [[1, 2, 3], [4, 5], [6, 7, 8]]
    6
  • Membongkar
    [[1, 2, 3], [4, 5], [6, 7, 8]]
    _7 dengan asumsi Anda memiliki daftar dua daftar
    [[1, 2, 3], [4, 5], [6, 7, 8]]
    6
  • Menggunakan metode daftar Python
    [[1, 2, 3], [4, 5], [6, 7, 8]]
    _9 untuk memperluas semua daftar dalam daftar daftar

Temukan contoh dari ketiga metode tersebut dalam cuplikan kode berikut

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]

Karena kesederhanaan dan efisiensinya, metode pemahaman daftar pertama lebih unggul dari dua metode lainnya

Konversi Daftar Daftar ke Kamus

Untuk beberapa aplikasi, cukup berguna untuk mengonversi daftar daftar menjadi kamus

  • Database. Daftar daftar adalah tabel di mana daftar dalam adalah baris basis data dan Anda ingin menetapkan setiap baris ke kunci utama dalam kamus baru
  • Spreadsheet. Daftar daftar adalah data spreadsheet dua dimensi dan Anda ingin menetapkan setiap baris ke kunci (=nama baris)
  • Analisis Data. Anda memiliki matriks dua dimensi (=array NumPy) yang awalnya direpresentasikan sebagai daftar daftar dan Anda ingin mendapatkan kamus untuk memudahkan akses data

Ada tiga cara utama untuk mengonversi daftar daftar menjadi kamus dengan Python (sumber)

  1. Pemahaman Kamus
  2. Ekspresi Generator
  3. Untuk Loop

Mari selami masing-masing

1. Pemahaman Kamus

Masalah. Katakanlah, Anda memiliki daftar daftar di mana setiap daftar mewakili seseorang dan terdiri dari tiga nilai untuk nama, usia, dan warna rambut orang tersebut.

Untuk kenyamanan, Anda ingin membuat kamus tempat Anda menggunakan nama seseorang sebagai kunci kamus dan subdaftar yang terdiri dari usia dan warna rambut sebagai nilai kamus

Larutan. Anda dapat mencapai ini dengan menggunakan fitur pemahaman kamus yang indah (tetapi, yang mengejutkan, sedikit diketahui) dengan Python

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}

Penjelasan. Pernyataan pemahaman kamus terdiri dari ekspresi

# Import the NumPy library
import numpy as np

# Create the list of lists
lst = [[1, 2, 3], [4, 5], [6, 7, 8]]

# Convert it to a NumPy array
a = np.array(lst)

# Print the resulting array
print(a)
'''
[list([1, 2, 3]) list([4, 5]) list([6, 7, 8])]
'''
0 yang menetapkan nama seseorang
# Import the NumPy library
import numpy as np

# Create the list of lists
lst = [[1, 2, 3], [4, 5], [6, 7, 8]]

# Convert it to a NumPy array
a = np.array(lst)

# Print the resulting array
print(a)
'''
[list([1, 2, 3]) list([4, 5]) list([6, 7, 8])]
'''
1 ke daftar
# Import the NumPy library
import numpy as np

# Create the list of lists
lst = [[1, 2, 3], [4, 5], [6, 7, 8]]

# Convert it to a NumPy array
a = np.array(lst)

# Print the resulting array
print(a)
'''
[list([1, 2, 3]) list([4, 5]) list([6, 7, 8])]
'''
2 usia dan warna rambut orang tersebut

Selanjutnya, ini terdiri dari konteks

# Import the NumPy library
import numpy as np

# Create the list of lists
lst = [[1, 2, 3], [4, 5], [6, 7, 8]]

# Convert it to a NumPy array
a = np.array(lst)

# Print the resulting array
print(a)
'''
[list([1, 2, 3]) list([4, 5]) list([6, 7, 8])]
'''
_3 yang mengulang semua "baris data"

2. Ekspresi Generator

Cara serupa untuk mencapai hal yang sama adalah dengan menggunakan ekspresi generator yang dikombinasikan dengan konstruktor

# Import the NumPy library
import numpy as np

# Create the list of lists
lst = [[1, 2, 3], [4, 5], [6, 7, 8]]

# Convert it to a NumPy array
a = np.array(lst)

# Print the resulting array
print(a)
'''
[list([1, 2, 3]) list([4, 5]) list([6, 7, 8])]
'''
4 untuk membuat kamus

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = dict((x[0], x[1:]) for x in persons)
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}

Cuplikan kode ini hampir identik dengan yang digunakan di bagian "pemahaman daftar". Satu-satunya perbedaan adalah Anda menggunakan tupel daripada pemetaan langsung untuk mengisi kamus

3. Untuk Loop

Tentu saja, tidak perlu mewah di sini

Anda juga dapat menggunakan loop for reguler dan menentukan elemen kamus satu per satu dalam loop for sederhana

Ini kode alternatifnya

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {}
for x in persons:
    persons_dict[x[0]] = x[1:]

print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}

Sekali lagi, Anda memetakan nama setiap orang ke dalam daftar yang terdiri dari usia dan warna rambutnya

Konversi Daftar Daftar ke NumPy Array

Bagaimana cara mengonversi Daftar Daftar ke NumPy Array?

Cara membuat daftar bersarang dengan python

Tonton video ini di YouTube

Masalah. Diberikan daftar daftar dengan Python. Bagaimana cara mengubahnya menjadi array NumPy 2D?

Contoh. Konversikan daftar daftar berikut

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

ke dalam array NumPy

[[1 2 3]
 [4 5 6]]

Larutan. Gunakan fungsi

# Import the NumPy library
import numpy as np

# Create the list of lists
lst = [[1, 2, 3], [4, 5], [6, 7, 8]]

# Convert it to a NumPy array
a = np.array(lst)

# Print the resulting array
print(a)
'''
[list([1, 2, 3]) list([4, 5]) list([6, 7, 8])]
'''
5 untuk mengonversi daftar daftar menjadi larik NumPy dua dimensi

Ini kodenya

# Import the NumPy library
import numpy as np

# Create the list of lists
lst = [[1, 2, 3], [4, 5, 6]]

# Convert it to a NumPy array
a = np.array(lst)

# Print the resulting array
print(a)
'''
[[1 2 3]
 [4 5 6]]
'''

Cara Mengonversi Daftar Daftar ke Array NumPy Dengan Jumlah Elemen Berbeda

Masalah. Diberikan daftar daftar. The inner lists have a varying number of elements. How to convert them to a NumPy array?

Example. Say, you’ve got the following list of lists

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

What are the different approaches to convert this list of lists into a NumPy array?

Solution. There are three different strategies you can use. (source)

(1) Use the standard # Import the NumPy library import numpy as np # Create the list of lists lst = [[1, 2, 3], [4, 5], [6, 7, 8]] # Convert it to a NumPy array a = np.array(lst) # Print the resulting array print(a) ''' [list([1, 2, 3]) list([4, 5]) list([6, 7, 8])] '''6 function

# Import the NumPy library
import numpy as np

# Create the list of lists
lst = [[1, 2, 3], [4, 5], [6, 7, 8]]

# Convert it to a NumPy array
a = np.array(lst)

# Print the resulting array
print(a)
'''
[list([1, 2, 3]) list([4, 5]) list([6, 7, 8])]
'''

This creates a NumPy array with three elements—each element is a list type. You can check the type of the output by using the built-in

# Import the NumPy library
import numpy as np

# Create the list of lists
lst = [[1, 2, 3], [4, 5], [6, 7, 8]]

# Convert it to a NumPy array
a = np.array(lst)

# Print the resulting array
print(a)
'''
[list([1, 2, 3]) list([4, 5]) list([6, 7, 8])]
'''
7 function

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
0

(2) Make an array of arrays

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
1

This is more logical than the previous version because it creates a NumPy array of 1D NumPy arrays (rather than 1D Python lists)

(3) Make the lists equal in length

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
2

You use list comprehension to “pad”

# Import the NumPy library
import numpy as np

# Create the list of lists
lst = [[1, 2, 3], [4, 5], [6, 7, 8]]

# Convert it to a NumPy array
a = np.array(lst)

# Print the resulting array
print(a)
'''
[list([1, 2, 3]) list([4, 5]) list([6, 7, 8])]
'''
8 values to each inner list with smaller than maximal length

Read More. See the original article on this blog for a more detailed version of this content

Konversi Daftar Daftar ke Dataframe

How to Convert List of Lists to a Pandas Dataframe

Cara membuat daftar bersarang dengan python

Tonton video ini di YouTube

Problem. You’re given a list of lists. Your goal is to convert it into a Pandas Dataframe

Example. Say, you want to compare salary data of different companies and job descriptions

You’ve obtained the following salary data set as a nested list of list

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
3

How can you convert this into a Pandas Dataframe?

Solution. The straight-forward solution is to use the

# Import the NumPy library
import numpy as np

# Create the list of lists
lst = [[1, 2, 3], [4, 5], [6, 7, 8]]

# Convert it to a NumPy array
a = np.array(lst)

# Print the resulting array
print(a)
'''
[list([1, 2, 3]) list([4, 5]) list([6, 7, 8])]
'''
9 constructor that creates a new Dataframe object from different input types such as NumPy arrays or lists

Here’s how to do it for the given example

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
4

This results in the following Dataframe

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
5

An alternative is the

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
00 method that generates the same output

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
6

If you want to add column names to make the output prettier, you can also pass those as a separate argument

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
7

If the first list of the list of lists contains the column name, use slicing to separate the first list from the other lists

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
8

Slicing is a powerful Python feature and before you can master Pandas, you need to master slicing

Related Tutorial

  • To refresh your Python slicing skills, download my ebook “Coffee Break Python Slicing” for free

Summary. To convert a list of lists into a Pandas DataFrame, use the

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
01 constructor and pass the list of lists as an argument. An optional columns argument can help you structure the output

Related article

  • How to convert a list of lists into a Python DataFrame?

Convert List of Lists to List of Tuples

If you’re in a hurry, here’s the short answer

Use the list comprehension statement

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
02 to convert each element in your
lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
03 to a tuple. This works also for list of lists with varying number of elements

How to Convert List of Lists to List of Tuples in Python? (And Back)

Cara membuat daftar bersarang dengan python

Tonton video ini di YouTube

But there’s more to it and studying the two main method to achieve the same objective will make you a better coder. So keep reading

Method 1. List Comprehension + tuple()

Problem. How to convert a list of lists into a list of tuples?

Example. You’ve got a list of lists

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
04 and you want to convert it into a list of tuples
lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
05

Cara membuat daftar bersarang dengan python

Solution. There are different solutions to convert a list of lists to a list of tuples. Use list comprehension in its most basic form

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
9

This approach is simple and effective

List comprehension defines how to convert each value (

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
06 in the example) to a new list element. As each list element is a new tuple, you use the constructor
lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
07 to create a new tuple from the list
lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
06

If you have three list elements per sublist, you can use the same approach with the conversion

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
0

You can see the execution flow in the following interactive visualization (just click the “Next” button to see what’s happening in the code)

And if you have a varying number of list elements per sublist, this approach still works beautifully

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
1

You see that an approach with list comprehension is the best way to convert a list of lists to a list of tuples. But are there any alternatives?

Method 2. Fungsi Peta + tuple()

An alternative is to use the map function that applies a specified function on each element of an iterable

💡 Guido van Rossum, the creator of Python, didn’t like the

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
09 function as it’s less readable (and less efficient) than the list comprehension version. Feel free to read a detailed discussion on how exactly he argued in my blog article

So, without further ado, here’s how you can convert a list of lists into a list of tuples using the

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
09 function

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
2

The first argument of the

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
09 function is the
lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
12 function name

This

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
13 function converts each element on the given iterable
[[1, 2, 3], [4, 5], [6, 7, 8]]
6 (the second argument) into a tuple

The result of the

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
09 function is an iterable so you need to convert it to a list before printing it to the shell because the default string representation of an iterable is not human-readable

Related Articles

  • How to Convert a List of Lists to a List of Tuples
  • How to Convert a List of Tuples to a List of Lists
  • Cara Mengonversi Daftar Daftar ke Bingkai Data Pandas
  • Cara Mengonversi Daftar Daftar ke NumPy Array
  • Cara Mengonversi Daftar Daftar ke Kamus dengan Python

Konversi Daftar Daftar ke File CSV

Cara Mengonversi Daftar Daftar ke File CSV dengan Python

Cara membuat daftar bersarang dengan python

Tonton video ini di YouTube

Masalah. Bagaimana cara mengonversi daftar daftar ke file ________10______16?

Contoh. Diberikan adalah daftar daftar — misalnya data gaji karyawan di perusahaan tertentu

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
_3

Tujuan Anda adalah menulis konten daftar daftar ke dalam format file nilai yang dipisahkan koma (CSV)

Outfile Anda akan terlihat seperti ini

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
_4

Larutan. Ada empat cara sederhana untuk mengonversi daftar daftar menjadi file CSV dengan Python

  1. CSV. Impor modul
    lst = [[1, 2], [3, 4]]
    
    # Method 1: List Comprehension
    flat_1 = [x for l in lst for x in l]
    
    # Method 2: Unpacking
    flat_2 = [*lst[0], *lst[1]]
    
    # Method 3: Extend Method
    flat_3 = []
    for l in lst:
        flat_3.extend(l)
    
    
    ## Check results:
    print(flat_1)
    # [1, 2, 3, 4]
    
    print(flat_2)
    # [1, 2, 3, 4]
    
    print(flat_3)
    # [1, 2, 3, 4]
    _16 dengan Python, buat objek penulis csv, dan tulis daftar daftar ke file menggunakan metode
    lst = [[1, 2], [3, 4]]
    
    # Method 1: List Comprehension
    flat_1 = [x for l in lst for x in l]
    
    # Method 2: Unpacking
    flat_2 = [*lst[0], *lst[1]]
    
    # Method 3: Extend Method
    flat_3 = []
    for l in lst:
        flat_3.extend(l)
    
    
    ## Check results:
    print(flat_1)
    # [1, 2, 3, 4]
    
    print(flat_2)
    # [1, 2, 3, 4]
    
    print(flat_3)
    # [1, 2, 3, 4]
    18 pada objek penulis
  2. Panda. Impor pustaka panda, buat Pandas DataFrame, dan tulis DataFrame ke file menggunakan metode DataFrame
    lst = [[1, 2], [3, 4]]
    
    # Method 1: List Comprehension
    flat_1 = [x for l in lst for x in l]
    
    # Method 2: Unpacking
    flat_2 = [*lst[0], *lst[1]]
    
    # Method 3: Extend Method
    flat_3 = []
    for l in lst:
        flat_3.extend(l)
    
    
    ## Check results:
    print(flat_1)
    # [1, 2, 3, 4]
    
    print(flat_2)
    # [1, 2, 3, 4]
    
    print(flat_3)
    # [1, 2, 3, 4]
    19
  3. NumPy. Impor pustaka NumPy, buat larik NumPy, dan tulis hasilnya ke file CSV menggunakan metode
    lst = [[1, 2], [3, 4]]
    
    # Method 1: List Comprehension
    flat_1 = [x for l in lst for x in l]
    
    # Method 2: Unpacking
    flat_2 = [*lst[0], *lst[1]]
    
    # Method 3: Extend Method
    flat_3 = []
    for l in lst:
        flat_3.extend(l)
    
    
    ## Check results:
    print(flat_1)
    # [1, 2, 3, 4]
    
    print(flat_2)
    # [1, 2, 3, 4]
    
    print(flat_3)
    # [1, 2, 3, 4]
    20
  4. Piton. Gunakan implementasi Python murni yang tidak memerlukan pustaka apa pun dengan menggunakan fungsi I/O file Python

Preferensi saya adalah metode 2 (Panda) karena paling mudah digunakan dan paling kuat untuk berbagai jenis input (numerik atau tekstual)

Metode 1. Modul Python CSV

Anda dapat mengonversi daftar daftar menjadi file CSV dengan Python dengan mudah—dengan menggunakan pustaka

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
16

Ini adalah yang paling dapat disesuaikan dari keempat metode

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
_5

Keluaran

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
_4

Dalam kode, Anda pertama kali membuka file menggunakan perintah

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
22 standar Python. Sekarang, Anda dapat menulis konten ke objek file
lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
23

Selanjutnya, Anda meneruskan objek file ini ke konstruktor penulis CSV yang mengimplementasikan beberapa metode pembantu tambahan—dan secara efektif membungkus objek file yang memberi Anda fungsionalitas khusus CSV baru seperti metode

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
18

Anda sekarang meneruskan daftar daftar ke metode

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
_18 dari penulis CSV yang menangani konversi daftar daftar ke format CSV

Anda dapat menyesuaikan penulis CSV di konstruktornya (mis. g. , dengan memodifikasi pembatas dari koma

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
26 menjadi spasi
lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
27 karakter)

Lihat spesifikasi untuk mempelajari tentang modifikasi lanjutan

Metode 2. Pandas DataFrame to_csv()

Cara membuat daftar bersarang dengan python

Anda dapat mengonversi daftar daftar menjadi Pandas DataFrame yang memberi Anda kemampuan canggih seperti metode

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
28

Ini adalah metode termudah dan memungkinkan Anda untuk menghindari mengimpor perpustakaan lain (saya menggunakan Pandas di banyak proyek Python)

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
_7

Keluaran

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
_8

Anda membuat Pandas DataFrame—yang merupakan representasi default Python untuk data tabular. Anggap saja sebagai spreadsheet Excel dalam kode Anda (dengan baris dan kolom)

DataFrame adalah struktur data yang sangat kuat yang memungkinkan Anda melakukan berbagai metode. Salah satunya adalah metode

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
_28 yang memungkinkan Anda menulis isinya ke dalam file CSV

Anda menyetel argumen

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
30 dan
lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
31 dari metode
lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
28 ke
lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
33 karena Pandas, secara default, menambahkan indeks baris dan kolom bilangan bulat 0, 1, 2, …

Sekali lagi, anggap mereka sebagai indeks baris dan kolom di spreadsheet Excel Anda. Anda tidak ingin mereka muncul di file CSV sehingga Anda menyetel argumen ke

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
33

Jika Anda ingin menyesuaikan keluaran CSV, Anda memiliki banyak argumen khusus untuk dimainkan. Lihat artikel ini untuk daftar lengkap semua argumen

Artikel terkait. Cheat Sheets Pandas untuk Disematkan ke Dinding Anda

Metode 3. NumPy savetxt()

NumPy adalah inti dari ilmu data dan fungsi pembelajaran mesin Python. Bahkan Panda menggunakan array NumPy untuk mengimplementasikan fungsionalitas kritis

Anda dapat mengonversi daftar daftar menjadi file CSV dengan menggunakan fungsi

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
35 NumPy dan meneruskan larik NumPy sebagai argumen yang muncul dari konversi daftar daftar

Metode ini paling baik jika Anda hanya memiliki data numerik—jika tidak, akan menyebabkan konversi tipe data yang rumit yang tidak disarankan

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
_9

Keluaran

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = dict((x[0], x[1:]) for x in persons)
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
0

Outputnya tidak terlihat cantik. itu menyimpan nilai sebagai pelampung

Tapi jangan khawatir, Anda dapat memformat ulang keluaran menggunakan argumen format

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
36 dari metode
lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
37 ()

Namun, saya sarankan Anda tetap menggunakan metode 2 (Panda) untuk menghindari kerumitan yang tidak perlu dalam kode Anda

Terkait

  • [Dapatkan Buku Anda] Coffee Break NumPy dan jadilah master ilmu data

Metode 4. Python Murni Tanpa Ketergantungan Eksternal

Jika Anda tidak ingin mengimpor pustaka apa pun dan masih mengonversi daftar daftar menjadi file CSV, Anda juga dapat menggunakan implementasi standar Python. tidak rumit dan efisien

Namun, jika memungkinkan Anda harus mengandalkan perpustakaan yang melakukan pekerjaan untuk Anda

Metode ini paling baik jika Anda tidak mau atau tidak bisa menggunakan dependensi eksternal

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = dict((x[0], x[1:]) for x in persons)
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
1

Keluaran

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = dict((x[0], x[1:]) for x in persons)
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
2

Dalam kode, Anda pertama kali membuka objek file

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
23. Kemudian Anda mengulangi setiap baris dan setiap elemen dalam baris dan menulis elemen tersebut ke file—satu per satu

Setelah setiap elemen, Anda menempatkan koma untuk menghasilkan format file CSV. Setelah setiap baris, Anda menempatkan karakter baris baru

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
39

💡 Catatan. Untuk menghilangkan tanda koma, Anda dapat memeriksa apakah elemen

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
06 adalah elemen terakhir pada baris di dalam badan loop dan lewati penulisan koma jika itu adalah

Tutorial Terkait. Bergabunglah dengan komunitas Finxter dan unduh 8+ lembar contekan Python untuk menyegarkan kembali pemahaman kode Anda

Urutkan Daftar Daftar berdasarkan Kunci

Setiap ilmuwan komputer suka menyortir sesuatu. Di bagian ini, saya akan menunjukkan kepada Anda bagaimana Anda dapat mengubah perilaku pengurutan Python default dengan argumen kunci

Definisi dan Penggunaan. Untuk menyesuaikan perilaku penyortiran default metode

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
41 dan
lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
42, gunakan argumen opsional
lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
43 dengan meneruskan fungsi yang mengembalikan nilai sebanding untuk setiap elemen dalam daftar

Python List sort() – Panduan Utama

Cara membuat daftar bersarang dengan python

Tonton video ini di YouTube

Sintaksis. Anda dapat memanggil metode ini pada setiap objek daftar dengan Python (Python versi 2. x dan 3. x)

Inilah sintaksnya

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
_44

ArgumentDescription
lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
_43(Opsional. Standar ________12______8. ) Lewati fungsi yang mengambil satu argumen dan mengembalikan nilai yang sebanding. Fungsi tersebut kemudian diterapkan ke setiap elemen dalam daftar. Kemudian, metode mengurutkan berdasarkan hasil fungsi kunci daripada elemen itu sendiri.
lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
_47(Opsional. Standar
lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
_33. ) Urutan elemen daftar. Jika
lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
_33, pengurutan dalam urutan menaik. Jika
lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
_50, itu dalam urutan menurun

Artikel terkait

  • Metode Daftar Python [Ikhtisar]
  • Daftar Python
    lst = [[1, 2], [3, 4]]
    
    # Method 1: List Comprehension
    flat_1 = [x for l in lst for x in l]
    
    # Method 2: Unpacking
    flat_2 = [*lst[0], *lst[1]]
    
    # Method 3: Extend Method
    flat_3 = []
    for l in lst:
        flat_3.extend(l)
    
    
    ## Check results:
    print(flat_1)
    # [1, 2, 3, 4]
    
    print(flat_2)
    # [1, 2, 3, 4]
    
    print(flat_3)
    # [1, 2, 3, 4]
    _51 – Panduan Utama
  • Daftar Python – Semua yang Perlu Anda Ketahui untuk Memulai

Metode

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
_41 mengambil fungsi lain sebagai argumen
lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
43 opsional yang memungkinkan Anda mengubah perilaku pengurutan default

Fungsi kunci kemudian dipanggil pada setiap elemen daftar dan mengembalikan nilai lain berdasarkan penyortiran yang dilakukan. Oleh karena itu, fungsi kunci mengambil satu argumen masukan (elemen daftar) dan mengembalikan satu nilai keluaran (nilai yang dapat dibandingkan)

Ini sebuah contoh

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = dict((x[0], x[1:]) for x in persons)
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
3

Anda dapat melihat bahwa dalam dua contoh pertama, daftar diurutkan berdasarkan nilai daftar dalam pertama

Dalam contoh ketiga, daftar diurutkan menurut nilai daftar dalam kedua

Anda mencapainya dengan mendefinisikan fungsi kunci

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
54 yang mengambil satu elemen daftar
lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
06 (daftar dengan sendirinya) sebagai argumen dan mengubahnya menjadi nilai yang sebanding
lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
56 (nilai daftar kedua)

Related article

  • Pengantar Fungsi Lambda dengan Python

Sortir Daftar Daftar berdasarkan Elemen Pertama

Baik metode daftar

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
_51 dan fungsi Python bawaan
lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
58 mengurutkan daftar daftar berdasarkan elemen pertamanya

Ini sebuah contoh

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = dict((x[0], x[1:]) for x in persons)
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
_4

Rutinitas penyortiran default mengambil elemen daftar pertama dari setiap daftar dalam sebagai kriteria keputusan. Hanya jika elemen pertama akan sama untuk dua nilai, elemen daftar kedua akan diambil sebagai tiebreaker

Urutkan Daftar Daftar Secara Leksikografis

Masalah. Diberikan daftar daftar. Urutkan daftar string dalam urutan leksikografis

💡 Urutan leksikografis adalah mengurutkan berdasarkan elemen daftar dalam pertama. Jika sama, Anda mengurutkan berdasarkan elemen daftar dalam kedua, dan seterusnya

Contoh

Kami ingin mengurutkan daftar berikut di mana elemen pertama dari daftar dalam adalah sama

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = dict((x[0], x[1:]) for x in persons)
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
5

Larutan. Gunakan metode

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
_41 tanpa argumen untuk menyelesaikan daftar dalam urutan leksikografis

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = dict((x[0], x[1:]) for x in persons)
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
6

Urutkan Daftar Daftar Berdasarkan Panjangnya

Masalah. Diberikan daftar daftar. Bagaimana Anda bisa mengurutkannya berdasarkan panjangnya?

Contoh. Anda ingin mengurutkan daftar daftar

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
_60 berdasarkan panjangnya—dimulai dengan daftar terpendek

Jadi, hasil target Anda adalah

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
_61. Bagaimana cara mencapai itu?

Larutan. Gunakan fungsi

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
_62 sebagai argumen kunci dari metode
lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
41 seperti ini.
lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
_64

Karena fungsi

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
_65 adalah fungsi bawaan Python, Anda tidak perlu mengimpor atau mendefinisikan apa pun

Ini solusi kodenya

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = dict((x[0], x[1:]) for x in persons)
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
7

Outputnya adalah daftar yang diurutkan berdasarkan panjang string

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = dict((x[0], x[1:]) for x in persons)
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
8

Anda juga dapat menggunakan teknik ini untuk mengurutkan daftar string berdasarkan panjangnya

Daftar Pemahaman Python Daftar Daftar

Daftar Pemahaman Python Daftar Daftar

Cara membuat daftar bersarang dengan python

Tonton video ini di YouTube

Anda akan mempelajari tiga cara bagaimana menerapkan pemahaman daftar ke daftar daftar

  • untuk meratakan daftar daftar
  • untuk membuat daftar daftar
  • untuk mengulangi daftar daftar

Selain itu, Anda akan mempelajari cara menerapkan pemahaman daftar bersarang. Jadi mari kita mulai

Pemahaman Daftar Python Meratakan Daftar Daftar

Masalah. Diberikan daftar daftar. Bagaimana cara meratakan daftar daftar dengan menyingkirkan daftar bagian dalam—dan mempertahankan elemennya?

Contoh. Anda ingin mengubah daftar tertentu menjadi daftar datar seperti di sini

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = dict((x[0], x[1:]) for x in persons)
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
_9

Cara membuat daftar bersarang dengan python

Larutan. Gunakan pernyataan pemahaman daftar bersarang

[[1, 2, 3], [4, 5], [6, 7, 8]]
5 untuk meratakan daftar

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {}
for x in persons:
    persons_dict[x[0]] = x[1:]

print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
_0

Penjelasan. Dalam pernyataan pemahaman daftar bersarang

[[1, 2, 3], [4, 5], [6, 7, 8]]
5, Anda pertama-tama mengulangi semua daftar dalam daftar daftar (
lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
68)

Kemudian, Anda mengulangi semua elemen dalam daftar saat ini (

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
69). Elemen ini, Anda cukup tempatkan di daftar terluar, tidak berubah, dengan menggunakannya di bagian "ekspresi" dari pernyataan pemahaman daftar
lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
70

Pemahaman Daftar Python Buat Daftar Daftar

Masalah. Bagaimana cara membuat daftar daftar dengan memodifikasi setiap elemen dari daftar daftar asli?

Contoh. Anda diberi daftar

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {}
for x in persons:
    persons_dict[x[0]] = x[1:]

print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
_1

Anda ingin menambahkan satu ke setiap elemen dan membuat daftar daftar baru

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {}
for x in persons:
    persons_dict[x[0]] = x[1:]

print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
_2

Larutan. Gunakan dua pernyataan pemahaman daftar bersarang, satu untuk membuat daftar daftar luar, dan satu lagi untuk membuat daftar dalam

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {}
for x in persons:
    persons_dict[x[0]] = x[1:]

print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
_3

Penjelasan. Ide utamanya adalah untuk menggunakan sebagai "ekspresi" dari pernyataan pemahaman daftar luar pernyataan pemahaman daftar dengan sendirinya

Ingat, Anda dapat membuat objek apa pun yang Anda inginkan di bagian ekspresi dari pernyataan pemahaman daftar Anda. Baca selengkapnya di sini

Cetak Daftar Daftar Tanpa Tanda Kurung

Masalah. Diberikan daftar daftar, cetak satu baris per baris—tanpa tanda kurung

Contoh. Perhatikan daftar contoh berikut

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {}
for x in persons:
    persons_dict[x[0]] = x[1:]

print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
_4

Anda ingin mencetak daftar daftar dengan karakter baris baru setelah setiap daftar dalam

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {}
for x in persons:
    persons_dict[x[0]] = x[1:]

print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
_5

Larutan. Gunakan for loop dan pernyataan

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
_71 sederhana di mana Anda membongkar semua elemen daftar dalam menggunakan operator asterisk

Ini sebuah contoh

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {}
for x in persons:
    persons_dict[x[0]] = x[1:]

print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
_6

Output memiliki bentuk yang diinginkan

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {}
for x in persons:
    persons_dict[x[0]] = x[1:]

print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
_5

Penjelasan. Operator asterisk "membongkar" semua nilai dalam daftar dalam

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
06 ke dalam pernyataan cetak

Anda harus tahu bahwa pernyataan print juga mengambil banyak input dan mencetaknya, dipisahkan dengan spasi, ke shell

Artikel terkait

  • Operator Pembongkar *
  • Cara Mencetak Daftar dengan Indah
  • Daftar Daftar Python
  • Cetak Daftar Daftar

Cetak Daftar Daftar Dengan Baris Baru & Sejajarkan Kolom

Masalah. Bagaimana cara mencetak daftar daftar dengan baris baru setelah setiap daftar sehingga kolomnya rata?

Contoh. Katakanlah, Anda akan mencetak daftar daftar

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {}
for x in persons:
    persons_dict[x[0]] = x[1:]

print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
_8

Bagaimana cara menyelaraskan kolom?

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {}
for x in persons:
    persons_dict[x[0]] = x[1:]

print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
_9

Larutan. Gunakan cuplikan kode berikut untuk mencetak daftar daftar dan menyelaraskan semua kolom (tidak peduli berapa banyak karakter yang ditempati setiap string dalam daftar daftar)

[[1, 2, 3], [4, 5, 6]]
_0

Outputnya adalah yang diinginkan

[[1, 2, 3], [4, 5, 6]]
_1

Penjelasan

  • Pertama, Anda menentukan panjang
    lst = [[1, 2], [3, 4]]
    
    # Method 1: List Comprehension
    flat_1 = [x for l in lst for x in l]
    
    # Method 2: Unpacking
    flat_2 = [*lst[0], *lst[1]]
    
    # Method 3: Extend Method
    flat_3 = []
    for l in lst:
        flat_3.extend(l)
    
    
    ## Check results:
    print(flat_1)
    # [1, 2, 3, 4]
    
    print(flat_2)
    # [1, 2, 3, 4]
    
    print(flat_3)
    # [1, 2, 3, 4]
    _73 (dalam karakter) dari string terbesar dalam daftar daftar menggunakan pernyataan
    lst = [[1, 2], [3, 4]]
    
    # Method 1: List Comprehension
    flat_1 = [x for l in lst for x in l]
    
    # Method 2: Unpacking
    flat_2 = [*lst[0], *lst[1]]
    
    # Method 3: Extend Method
    flat_3 = []
    for l in lst:
        flat_3.extend(l)
    
    
    ## Check results:
    print(flat_1)
    # [1, 2, 3, 4]
    
    print(flat_2)
    # [1, 2, 3, 4]
    
    print(flat_3)
    # [1, 2, 3, 4]
    74. Kode menggunakan loop for bersarang dalam ekspresi generator untuk mencapai ini
  • Kedua, Anda mengulangi setiap daftar dalam daftar daftar (disebut
    lst = [[1, 2], [3, 4]]
    
    # Method 1: List Comprehension
    flat_1 = [x for l in lst for x in l]
    
    # Method 2: Unpacking
    flat_2 = [*lst[0], *lst[1]]
    
    # Method 3: Extend Method
    flat_3 = []
    for l in lst:
        flat_3.extend(l)
    
    
    ## Check results:
    print(flat_1)
    # [1, 2, 3, 4]
    
    print(flat_2)
    # [1, 2, 3, 4]
    
    print(flat_3)
    # [1, 2, 3, 4]
    75)
  • Ketiga, Anda membuat representasi string dengan kolom yang disejajarkan dengan 'mengisi' setiap elemen baris sehingga menempati
    lst = [[1, 2], [3, 4]]
    
    # Method 1: List Comprehension
    flat_1 = [x for l in lst for x in l]
    
    # Method 2: Unpacking
    flat_2 = [*lst[0], *lst[1]]
    
    # Method 3: Extend Method
    flat_3 = []
    for l in lst:
        flat_3.extend(l)
    
    
    ## Check results:
    print(flat_1)
    # [1, 2, 3, 4]
    
    print(flat_2)
    # [1, 2, 3, 4]
    
    print(flat_3)
    # [1, 2, 3, 4]
    76 karakter ruang. Karakter yang hilang diisi dengan ruang kosong

Anda dapat melihat kode beraksi di visualizer memori berikut. Cukup klik "Berikutnya" untuk melihat objek mana yang dibuat di memori jika Anda menjalankan kode dengan Python

Artikel terkait. Anda mungkin perlu menyegarkan kembali pemahaman Anda tentang fitur Python berikut yang digunakan dalam kode

  • Daftar pemahaman dan ekspresi generator
  • Penggabungan string()
  • Daftar pencetakan

Daftar Daftar Python Menghitung

Katakanlah, Anda telah memberikan kode berikut yang menggunakan fungsi enumerate pada daftar daftar

[[1, 2, 3], [4, 5, 6]]
_2

Keluarannya adalah

[[1, 2, 3], [4, 5, 6]]
_3

Fungsi

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
_77 membuat iterator pasangan (indeks, elemen) untuk semua elemen dalam daftar yang diberikan

Jika Anda memiliki daftar daftar, elemen daftar adalah daftar itu sendiri

Jadi, fungsi

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
_78 menghasilkan pasangan (indeks, daftar). Anda bisa menggunakannya di badan loop—misalnya, untuk mencetak panjang elemen daftar ke-i

Hapus Kosong – Daftar Daftar Python

Bagaimana Anda bisa menghapus semua daftar kosong dari daftar daftar?

Katakanlah, Anda memiliki daftar daftar

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
79 dan Anda ingin semua daftar kosong dihapus untuk mendapatkan daftar daftar
lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
80

Larutan. Gunakan pemahaman daftar

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
_81 untuk memfilter daftar dan menghapus semua daftar yang kosong

[[1, 2, 3], [4, 5, 6]]
_4

Kondisi jika

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
06 bernilai
lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
33 hanya jika daftar
lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
06 kosong. Dalam semua kasus lainnya, ini dievaluasi menjadi
lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
50 dan elemen tersebut disertakan dalam daftar baru

Hapus Duplikat – Daftar Daftar Python

Bagaimana Cara Menghapus Duplikat Dari Daftar Daftar Python?

Cara membuat daftar bersarang dengan python

Tonton video ini di YouTube

Apa cara terbaik untuk menghapus duplikat dari daftar daftar Python?

Ini adalah pertanyaan wawancara pengkodean yang populer di Google, Facebook, dan Amazon. Berikut ini, saya akan menunjukkan kepada Anda bagaimana (dan mengapa) cara kerjanya—jadi teruslah membaca

Metode 1. Metode Naif

Algoritma

  • Telusuri setiap elemen dan periksa apakah elemen ini sudah ada dalam daftar
  • Jika demikian, hapus

Masalahnya adalah bahwa metode ini memiliki kompleksitas waktu kuadrat karena Anda perlu memeriksa setiap elemen jika ada dalam daftar (yaitu

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
86 untuk
lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
73 elemen)

[[1, 2, 3], [4, 5, 6]]
_5

Metode 2. Konversi Kamus Sementara

Algoritma. Cara yang lebih efisien dalam hal kerumitan waktu adalah membuat kamus dari elemen dalam daftar untuk menghapus semua duplikat dan mengonversi kamus kembali ke daftar

Ini mempertahankan urutan elemen daftar asli

[[1, 2, 3], [4, 5, 6]]
_6

Semua dari empat sub-metode berikut adalah operasi runtime linier

Oleh karena itu, algoritme memiliki kompleksitas runtime linier dan lebih efisien daripada pendekatan naif (metode 1)

  1. Ubah menjadi daftar tupel menggunakan pemahaman daftar
    lst = [[1, 2], [3, 4]]
    
    # Method 1: List Comprehension
    flat_1 = [x for l in lst for x in l]
    
    # Method 2: Unpacking
    flat_2 = [*lst[0], *lst[1]]
    
    # Method 3: Extend Method
    flat_3 = []
    for l in lst:
        flat_3.extend(l)
    
    
    ## Check results:
    print(flat_1)
    # [1, 2, 3, 4]
    
    print(flat_2)
    # [1, 2, 3, 4]
    
    print(flat_3)
    # [1, 2, 3, 4]
    88. Tuple dapat di-hash dan dapat digunakan sebagai kunci kamus—sementara daftar tidak bisa
  2. Ubah daftar tupel menjadi kamus dengan
    lst = [[1, 2], [3, 4]]
    
    # Method 1: List Comprehension
    flat_1 = [x for l in lst for x in l]
    
    # Method 2: Unpacking
    flat_2 = [*lst[0], *lst[1]]
    
    # Method 3: Extend Method
    flat_3 = []
    for l in lst:
        flat_3.extend(l)
    
    
    ## Check results:
    print(flat_1)
    # [1, 2, 3, 4]
    
    print(flat_2)
    # [1, 2, 3, 4]
    
    print(flat_3)
    # [1, 2, 3, 4]
    89 untuk memetakan tupel ke nilai dummy. Setiap kunci kamus hanya dapat ada satu kali sehingga duplikat dihapus pada saat ini
  3. Ubah kamus menjadi daftar tupel dengan
    lst = [[1, 2], [3, 4]]
    
    # Method 1: List Comprehension
    flat_1 = [x for l in lst for x in l]
    
    # Method 2: Unpacking
    flat_2 = [*lst[0], *lst[1]]
    
    # Method 3: Extend Method
    flat_3 = []
    for l in lst:
        flat_3.extend(l)
    
    
    ## Check results:
    print(flat_1)
    # [1, 2, 3, 4]
    
    print(flat_2)
    # [1, 2, 3, 4]
    
    print(flat_3)
    # [1, 2, 3, 4]
    90
  4. Ubah daftar tupel menjadi daftar daftar menggunakan pemahaman daftar
    lst = [[1, 2], [3, 4]]
    
    # Method 1: List Comprehension
    flat_1 = [x for l in lst for x in l]
    
    # Method 2: Unpacking
    flat_2 = [*lst[0], *lst[1]]
    
    # Method 3: Extend Method
    flat_3 = []
    for l in lst:
        flat_3.extend(l)
    
    
    ## Check results:
    print(flat_1)
    # [1, 2, 3, 4]
    
    print(flat_2)
    # [1, 2, 3, 4]
    
    print(flat_3)
    # [1, 2, 3, 4]
    91

Cara membuat daftar bersarang dengan python

Setiap elemen daftar (= daftar) menjadi tupel yang menjadi kunci baru untuk kamus

Misalnya, daftar

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
_92 menjadi daftar
lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
93 kamus
lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
94. Tidak ada}

Semua elemen yang muncul berkali-kali akan ditetapkan ke kunci yang sama. Dengan demikian, kamus hanya berisi kunci unik—tidak boleh ada beberapa kunci yang sama

Sebagai nilai kamus, Anda mengambil nilai dummy (per default)

Kemudian, Anda mengonversi kamus kembali ke daftar daftar, membuang nilai dummy

Apakah Kamus Python Mempertahankan Urutan Kunci?

Anehnya, kunci kamus di Python mempertahankan urutan elemen. Jadi, ya, urutan elemen dipertahankan. (sumber)

Hal ini mengejutkan banyak pembaca karena sumber daring yang tak terhitung jumlahnya seperti ini berpendapat bahwa urutan kunci kamus tidak dipertahankan

Mereka berasumsi bahwa implementasi dasar dari kunci kamus iterables menggunakan set—dan set terkenal agnostik terhadap pemesanan elemen

Tapi anggapan ini salah. Implementasi kamus Python bawaan di cPython mempertahankan urutannya

Ini contohnya, silakan buat contoh dan tes Anda sendiri untuk memeriksa apakah urutannya dipertahankan

[[1, 2, 3], [4, 5, 6]]
_7

Anda melihat bahwa urutan elemen dipertahankan sehingga saat mengonversinya kembali, urutan asli elemen daftar tetap dipertahankan

[[1, 2, 3], [4, 5, 6]]
_8

Namun, Anda tidak dapat mengandalkannya karena implementasi Python apa pun dapat, secara teoritis, memutuskan untuk tidak mempertahankan pesanan (perhatikan "BISA" di sini adalah 100% teoretis dan tidak berlaku untuk implementasi cPython default)

Jika Anda perlu memastikan bahwa pesanan dipertahankan, Anda dapat menggunakan. Di cPython, ini hanyalah pembungkus untuk implementasi default dict

Metode 3. Tetapkan Konversi

Diberikan daftar daftar, tujuannya adalah untuk menghapus semua elemen yang ada lebih dari satu kali dalam daftar

Set di Python hanya mengizinkan satu instance elemen. Jadi dengan mengonversi daftar menjadi satu set, semua duplikat dihapus

Berbeda dengan pendekatan naif (memeriksa semua pasangan elemen jika merupakan duplikat) yang memiliki kompleksitas waktu kuadrat, metode ini memiliki kompleksitas runtime linier

Mengapa?

Karena kompleksitas runtime membuat satu set linear dalam jumlah elemen set. Sekarang, Anda mengonversi set kembali ke daftar, dan voila, duplikatnya dihapus

[[1, 2, 3], [4, 5, 6]]
_9

Namun, mengonversi daftar menjadi satu set tidak menjamin untuk mempertahankan urutan elemen daftar. Set kehilangan semua informasi pemesanan

Selain itu, Anda tidak dapat membuat kumpulan daftar karena daftar adalah tipe data yang tidak dapat di-hash

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

Tetapi kami dapat menemukan solusi sederhana untuk kedua masalah tersebut seperti yang akan Anda lihat dalam metode berikut

Metode Linear-Runtime dengan Set untuk Menghapus Duplikat Dari Daftar Daftar

Pendekatan ketiga ini menggunakan satu set untuk memeriksa apakah elemen sudah ada dalam daftar bebas duplikat

Karena memeriksa keanggotaan pada set jauh lebih cepat daripada memeriksa keanggotaan pada daftar, metode ini juga memiliki kompleksitas runtime linier (keanggotaan memiliki kompleksitas runtime konstan)

[[1 2 3]
 [4 5 6]]
1

Pendekatan menghapus duplikat dari daftar sambil mempertahankan urutan elemen memiliki kompleksitas runtime linier juga

Dan itu berfungsi untuk semua bahasa pemrograman tanpa Anda harus mengetahui detail implementasi tentang kamus dengan Python. Tapi, di sisi lain, ini sedikit lebih rumit

Artikel terkait

  • Bagaimana Cara Menghapus Duplikat Dari Daftar Daftar dengan Python?
  • Hapus Daftar Python
  • Panduan Utama untuk Kamus Python
  • Hapus Duplikat Dari Daftar Python
  • Daftar Daftar Python

Terbalik – Daftar Daftar Python

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
_95 membalikkan urutan unsur-unsur dalam
lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
03. Jika Anda ingin membuat daftar baru dengan elemen terbalik, gunakan mengiris dengan ukuran langkah negatif
lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
97

Ini contoh singkatnya

[[1 2 3]
 [4 5 6]]
2

Di baris pertama contoh, Anda membuat daftar

[[1, 2, 3], [4, 5], [6, 7, 8]]
6. Anda kemudian membalikkan urutan elemen dalam daftar dan mencetaknya ke shell

Terbalik Datar

Tetapi jika Anda menggunakan metode

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
_99 pada daftar daftar, Anda hanya mendapatkan pembalikan "datar"—hanya daftar luar yang dibalik tetapi bukan daftar dalam

[[1 2 3]
 [4 5 6]]
3

Jadi urutan dari dua daftar dalam sekarang dibalik tetapi bukan urutan elemen daftar mereka

Terbalik Jauh

Bagaimana jika Anda tidak hanya ingin membalikkan daftar tetapi menjalankan kebalikan yang dalam di mana semua daftar bersarang juga dibalik secara rekursif?

Inilah cara Anda melakukannya

[[1 2 3]
 [4 5 6]]
4

Tidak hanya daftar tingkat pertama yang dibalik tetapi juga daftar tingkat kedua. Kode ini secara longgar terinspirasi dari artikel ini

Zip Python Daftar Daftar

Fungsi

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
_00 mengambil sejumlah iterables dan menggabungkannya menjadi satu dengan menggabungkan nilai ke-i dari setiap iterable menjadi sebuah tuple

Misalnya, zip bersama daftar

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
_01 dan
persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
02 ke
persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
03

Masalah. Meneruskan daftar daftar ke dalam fungsi zip tidak berfungsi karena fungsi zip memerlukan sejumlah iterables yang berubah-ubah (dan bukan iterables dari iterables)

Contoh. Katakanlah, Anda ingin meng-zip daftar daftar

[[1 2 3]
 [4 5 6]]
5

🛑 PERHATIAN. KODE INI TIDAK MENYELESAIKAN INI

Larutan. Buka kemasan daftar dalam daftar daftar menggunakan operator tanda bintang "membongkar"

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
04

[[1 2 3]
 [4 5 6]]
6

Pikirkan seperti ini. operator asterisk menghapus braket "luar" dari daftar dan meneruskan semua daftar dalam sebagai argumen

Perhatikan bahwa Anda juga mengonversi objek zip yang dikembalikan oleh fungsi zip ke daftar menggunakan konstruktor

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
05

Buka Paket Daftar Daftar Python

Anda telah melihat contoh membongkar daftar daftar di bagian sebelumnya (fungsi

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
06)

[[1 2 3]
 [4 5 6]]
6

Fungsi

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
_06 mengharapkan sejumlah iterable tetapi daftar daftar hanya satu iterable

Untuk mengatasi masalah ini, Anda mengekstrak daftar dalam ke dalam fungsi zip untuk menggunakannya sebagai argumen untuk iterables. Dengan cara ini,

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
_00 berjalan dengan tiga argumen yang dapat diulang.
persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
_09,
persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
10, dan
persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
11

Artikel terkait. Operator Pembongkar (Asterisk)

Rata-rata – Daftar Daftar Python

Bagaimana Rata-Rata Daftar Daftar dengan Python?

Cara membuat daftar bersarang dengan python

Tonton video ini di YouTube

Masalah. Anda memiliki daftar daftar dan Anda ingin menghitung rata-rata kolom yang berbeda

Contoh. Diberikan daftar berikut daftar dengan empat baris dan tiga kolom

[[1 2 3]
 [4 5 6]]
8

Anda ingin memiliki nilai rata-rata dari tiga kolom

[[1 2 3]
 [4 5 6]]
_9

Metode 1. Rata-rata dalam Python (Tanpa Perpustakaan)

Satu baris sederhana dengan pemahaman daftar dalam kombinasi dengan fungsi

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
00 pada daftar yang belum dibongkar untuk mengubah daftar daftar melakukan pekerjaan dengan Python

# Import the NumPy library
import numpy as np

# Create the list of lists
lst = [[1, 2, 3], [4, 5, 6]]

# Convert it to a NumPy array
a = np.array(lst)

# Print the resulting array
print(a)
'''
[[1 2 3]
 [4 5 6]]
'''
_0

Apakah Anda suka Python one-liners? . Klik untuk memeriksa buku di tab baru

Cara membuat daftar bersarang dengan python

Anda dapat memvisualisasikan eksekusi kode dan objek memori dari kode ini di alat berikut (cukup klik "Berikutnya" untuk melihat bagaimana satu langkah kode dibuka)

Metode 2. Rata-rata dengan Perpustakaan NumPy

Anda membuat larik NumPy dari data dan meneruskannya ke fungsi

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
13

# Import the NumPy library
import numpy as np

# Create the list of lists
lst = [[1, 2, 3], [4, 5, 6]]

# Convert it to a NumPy array
a = np.array(lst)

# Print the resulting array
print(a)
'''
[[1 2 3]
 [4 5 6]]
'''
_1

Argumen

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
_14 dari fungsi rata-rata menentukan sepanjang sumbu mana Anda ingin menghitung nilai rata-rata

  • Jika Anda ingin rata-rata kolom, tentukan
    persons = [['Alice', 25, 'blonde'],
               ['Bob', 33, 'black'],
               ['Ann', 18, 'purple']]
    
    persons_dict = {x[0]: x[1:] for x in persons}
    print(persons_dict)
    # {'Alice': [25, 'blonde'],
    #  'Bob': [33, 'black'],
    #  'Ann': [18, 'purple']}
    15
  • Jika Anda ingin rata-rata baris, tentukan
    persons = [['Alice', 25, 'blonde'],
               ['Bob', 33, 'black'],
               ['Ann', 18, 'purple']]
    
    persons_dict = {x[0]: x[1:] for x in persons}
    print(persons_dict)
    # {'Alice': [25, 'blonde'],
    #  'Bob': [33, 'black'],
    #  'Ann': [18, 'purple']}
    16
  • Jika Anda ingin menghitung rata-rata semua nilai, lewati argumen ini

Metode 3. Perpustakaan Statistik Rata-Rata + Peta()

Hanya untuk menunjukkan kepada Anda alternatif lain, inilah salah satu yang menggunakan fungsi

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
09 dan trik
persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
18 kami untuk mengubah urutan "matriks"
persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
19

# Import the NumPy library
import numpy as np

# Create the list of lists
lst = [[1, 2, 3], [4, 5, 6]]

# Convert it to a NumPy array
a = np.array(lst)

# Print the resulting array
print(a)
'''
[[1 2 3]
 [4 5 6]]
'''
_2

Fungsi

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
_20 menerapkan
persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
21 ke setiap elemen di
persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
22

Sebagai alternatif, Anda juga dapat menggunakan pemahaman daftar seperti yang ditunjukkan pada metode 1 dalam tutorial ini

💡 Faktanya, Guido van Rossum, pencipta Python dan diktator baik hati seumur hidup (BDFL) Python, lebih memilih pemahaman daftar daripada fungsi

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
09

Daftar Daftar Jumlah Python

Bagaimana Cara Menjumlahkan Daftar Daftar dengan Python?

Cara membuat daftar bersarang dengan python

Tonton video ini di YouTube

Masalah. Diberikan daftar daftar yang mewakili matriks data dengan n baris dan m kolom. Bagaimana cara menjumlahkan kolom matriks ini?

Berikut ini, Anda akan mempelajari berbagai cara untuk melakukannya dengan Python

Mari pastikan bahwa Anda berada di halaman yang sama. Berikut adalah representasi grafis dari daftar daftar dan apa yang ingin Anda capai

Cara membuat daftar bersarang dengan python

Contoh. Diberikan kode berikut

# Import the NumPy library
import numpy as np

# Create the list of lists
lst = [[1, 2, 3], [4, 5, 6]]

# Convert it to a NumPy array
a = np.array(lst)

# Print the resulting array
print(a)
'''
[[1 2 3]
 [4 5 6]]
'''
_3

Selanjutnya, Anda akan mempelajari tiga metode berbeda untuk menjumlahkan kolom

Artikel terkait

  • Bagaimana cara Rata-Rata pada Daftar Daftar dengan Python?

Salinan Datar – Daftar Daftar Python

Sebelum Anda benar-benar memahami metode

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
_24 dengan Python, Anda harus memahami konsep "salinan dangkal" atau "salinan datar"

Dalam bahasa berorientasi objek seperti Python, semuanya adalah objek. List adalah objek dan elemen dalam list juga merupakan objek

Salinan daftar yang dangkal membuat objek daftar baru—salinan—tetapi tidak membuat elemen daftar baru tetapi hanya menyalin referensi ke objek ini

Cara membuat daftar bersarang dengan python

Anda dapat melihat bahwa daftar di bawah ini hanyalah salinan dangkal yang menunjuk ke elemen yang sama dengan daftar aslinya

Dalam Python, metode

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
_25 hanya menghasilkan salinan dangkal yang memiliki kompleksitas runtime lebih cepat

Berikut adalah contoh yang menunjukkan skenario ini dengan tepat

# Import the NumPy library
import numpy as np

# Create the list of lists
lst = [[1, 2, 3], [4, 5, 6]]

# Convert it to a NumPy array
a = np.array(lst)

# Print the resulting array
print(a)
'''
[[1 2 3]
 [4 5 6]]
'''
_4

Mengubah elemen daftar ketiga dari daftar yang disalin berdampak pada elemen daftar ketiga dari daftar asli

Dengan demikian, outputnya adalah

# Import the NumPy library
import numpy as np

# Create the list of lists
lst = [[1, 2, 3], [4, 5, 6]]

# Convert it to a NumPy array
a = np.array(lst)

# Print the resulting array
print(a)
'''
[[1 2 3]
 [4 5 6]]
'''
_5

Anda dapat melihat visualisasi eksekusi langsung di alat hebat berikut untuk memvisualisasikan penggunaan memori potongan Python ini di setiap tahap eksekusi. Cukup klik "Berikutnya" untuk melihat bagaimana memori terbuka

Petunjuk. Jika Anda menyalin daftar daftar menggunakan metode

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
25, ketahuilah bahwa setiap perubahan yang Anda lakukan pada daftar di daftar daftar yang disalin akan terlihat di daftar asli

Jika Anda tidak setuju dengan itu, lihat bagian berikut tentang salinan mendalam dari daftar Python

Deep Copy – Daftar Daftar Python

Setelah memahami konsep salinan dangkal, kini mudah untuk memahami konsep salinan dalam

Baca artikel saya dalam vs salinan dangkal untuk mendapatkan pemahaman yang lebih dalam

  • Salinan dangkal hanya menyalin referensi elemen daftar
  • Salinan yang dalam menyalin elemen daftar itu sendiri yang dapat menyebabkan perilaku yang sangat rekursif karena daftar elemen mungkin merupakan daftar itu sendiri yang perlu disalin secara mendalam dan seterusnya

Ini salinan sederhana dari daftar yang sama seperti yang ditunjukkan sebelumnya

Cara membuat daftar bersarang dengan python

Berbeda dengan salinan dangkal, daftar

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
09 disalin secara terpisah untuk daftar salinan dalam. Jika seseorang mengubah daftar bersarang ini di daftar asli, perubahan itu tidak akan terlihat di salinan yang dalam. (Karena daftar bersarang dari daftar salinan dalam adalah objek independen di memori. )

Perhatikan bahwa dalam salinan yang dalam, objek string tidak boleh disalin. Mengapa?

Untuk mendapatkan salinan mendalam di Python, impor modul

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
28 dan gunakan metode
persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
29

# Import the NumPy library
import numpy as np

# Create the list of lists
lst = [[1, 2, 3], [4, 5, 6]]

# Convert it to a NumPy array
a = np.array(lst)

# Print the resulting array
print(a)
'''
[[1 2 3]
 [4 5 6]]
'''
_6

Sekali lagi, visualisasikan aliran eksekusi potongan kode berikut di sini di browser Anda dengan mengeklik "Berikutnya"

Artikel Terkait

  • Pengantar Mengiris dengan Python
  • Salin Daftar Python (Tutorial Lengkap)
  • Metode Daftar Cheat Sheet
  • Panduan Daftar

Bagaimana Cara Memfilter Daftar Daftar Python?

Jawaban singkat. Untuk memfilter daftar daftar untuk kondisi di daftar dalam, gunakan pernyataan pemahaman daftar

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
30 dan ganti
persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
31 dengan kondisi pemfilteran Anda yang mengembalikan
lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
50 untuk menyertakan daftar dalam
lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
06, dan
lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
33 jika tidak

Bagaimana Cara Memfilter Daftar dengan Python?

Cara membuat daftar bersarang dengan python

Tonton video ini di YouTube

Daftar termasuk dalam struktur data paling penting di Python—setiap master pembuat kode mengetahuinya dengan hati. Anehnya, bahkan pembuat kode perantara tidak tahu cara terbaik untuk memfilter daftar—apalagi daftar daftar dengan Python. Tutorial ini menunjukkan kepada Anda bagaimana melakukan yang terakhir

Masalah. Katakanlah, Anda punya daftar daftar. Anda ingin memfilter daftar daftar sehingga hanya tersisa daftar dalam yang memenuhi kondisi tertentu. Kondisinya adalah fungsi dari daftar dalam—seperti rata-rata atau jumlah dari elemen daftar dalam

Cara membuat daftar bersarang dengan python

Contoh. Diberikan daftar berikut dengan pengukuran suhu mingguan per minggu — dan satu daftar dalam per minggu

# Import the NumPy library
import numpy as np

# Create the list of lists
lst = [[1, 2, 3], [4, 5, 6]]

# Convert it to a NumPy array
a = np.array(lst)

# Print the resulting array
print(a)
'''
[[1 2 3]
 [4 5 6]]
'''
_7

Bagaimana cara menyaring minggu-minggu yang lebih dingin dengan nilai suhu rata-rata <8?

# Import the NumPy library
import numpy as np

# Create the list of lists
lst = [[1, 2, 3], [4, 5, 6]]

# Convert it to a NumPy array
a = np.array(lst)

# Print the resulting array
print(a)
'''
[[1 2 3]
 [4 5 6]]
'''
_8

Ada dua metode yang setara secara semantik untuk mencapai ini. pemahaman daftar dan fungsi

lst = [[1, 2], [3, 4]]

# Method 1: List Comprehension
flat_1 = [x for l in lst for x in l]

# Method 2: Unpacking
flat_2 = [*lst[0], *lst[1]]

# Method 3: Extend Method
flat_3 = []
for l in lst:
    flat_3.extend(l)


## Check results:
print(flat_1)
# [1, 2, 3, 4]

print(flat_2)
# [1, 2, 3, 4]

print(flat_3)
# [1, 2, 3, 4]
_09. Mari jelajahi kedua varian selanjutnya

# Import the NumPy library
import numpy as np

# Create the list of lists
lst = [[1, 2, 3], [4, 5, 6]]

# Convert it to a NumPy array
a = np.array(lst)

# Print the resulting array
print(a)
'''
[[1 2 3]
 [4 5 6]]
'''
_9

Artikel terkait

  • Bagaimana Cara Memfilter Daftar Daftar Python?
  • Pemahaman Daftar — Daftar Daftar Python
  • Filter() vs Pemahaman Daftar
  • Pemahaman Daftar Bersarang
  • Panduan Utama untuk Daftar Python
  • Daftar Pemahaman

Group By – Daftar Daftar Python

Daftar Kelompok Daftar Python Oleh – Panduan Bergambar Sederhana [+Pandas. Kelompokkan Menurut()]

Cara membuat daftar bersarang dengan python

Tonton video ini di YouTube

Tutorial ini menunjukkan kepada Anda cara mengelompokkan daftar dalam daftar daftar Python berdasarkan elemen umum

Masalah. Diberikan daftar daftar. Kelompokkan elemen berdasarkan elemen umum dan simpan hasilnya dalam kamus (key = elemen umum)

Cara membuat daftar bersarang dengan python

Contoh. Katakanlah, Anda memiliki database dengan banyak baris (daftar daftar) di mana setiap baris terdiri dari tiga atribut. Nama, Umur, dan Penghasilan. Anda ingin mengelompokkan berdasarkan Nama dan menyimpan hasilnya dalam kamus. Kunci kamus diberikan oleh atribut Nama. Nilai kamus adalah daftar baris yang memiliki atribut Nama yang tepat ini

Larutan. Inilah datanya dan bagaimana Anda dapat mengelompokkan berdasarkan atribut umum (mis. g. , Nama)

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

Anda dapat melihat bahwa hasilnya adalah kamus dengan satu kunci per nama (

persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
36,
persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
37, dan
persons = [['Alice', 25, 'blonde'],
           ['Bob', 33, 'black'],
           ['Ann', 18, 'purple']]

persons_dict = {x[0]: x[1:] for x in persons}
print(persons_dict)
# {'Alice': [25, 'blonde'],
#  'Bob': [33, 'black'],
#  'Ann': [18, 'purple']}
38). Alice muncul dalam dua baris dari database asli (daftar daftar). Jadi, Anda mengaitkan dua baris dengan namanya—hanya mempertahankan atribut Usia dan Pendapatan per baris

Strategi bagaimana Anda melakukannya sederhana

  • Buat kamus kosong
  • Pergi ke setiap baris dalam daftar daftar. Nilai pertama dari daftar baris adalah atribut Nama
  • Tambahkan atribut Nama
    persons = [['Alice', 25, 'blonde'],
               ['Bob', 33, 'black'],
               ['Ann', 18, 'purple']]
    
    persons_dict = {x[0]: x[1:] for x in persons}
    print(persons_dict)
    # {'Alice': [25, 'blonde'],
    #  'Bob': [33, 'black'],
    #  'Ann': [18, 'purple']}
    _39 ke kamus jika belum ada—menginisialisasi kamus ke daftar kosong. Sekarang, Anda dapat yakin bahwa kuncinya ada di kamus
  • Tambahkan irisan sublist
    persons = [['Alice', 25, 'blonde'],
               ['Bob', 33, 'black'],
               ['Ann', 18, 'purple']]
    
    persons_dict = {x[0]: x[1:] for x in persons}
    print(persons_dict)
    # {'Alice': [25, 'blonde'],
    #  'Bob': [33, 'black'],
    #  'Ann': [18, 'purple']}
    40 ke nilai kamus sehingga ini menjadi daftar daftar juga—satu daftar per baris database
  • Anda sekarang telah mengelompokkan semua entri basis data berdasarkan atribut umum (=Nama)

Sejauh ini bagus. Tetapi bagaimana jika Anda ingin melakukan agregasi pada baris database yang dikelompokkan?

Ringkasan

Selamat. Tutorial mendalam ini telah menunjukkan kepada Anda semua yang perlu Anda ketahui untuk menangani daftar daftar Python (daftar bersarang). Penting untuk melihat bahwa daftar daftar Python berfungsi seperti daftar Python dengan objek lain. Pembuat Python memastikan bahwa daftar daftar mengikuti aturan yang sama dengan semua daftar objek lainnya. Ini berlaku untuk menyortir, menyalin, fungsi maks, atau mengiris—objek daftar dalam hanya itu. objek

Lebih Banyak Tutorial Finxter

Belajar adalah proses yang berkelanjutan dan Anda sebaiknya tidak pernah berhenti belajar dan berkembang sepanjang hidup Anda. 👑

Apa yang harus dipelajari?

Saya sarankan Anda membaca setidaknya satu tutorial per hari (hanya 5 menit per tutorial sudah cukup) untuk memastikan Anda tidak pernah berhenti belajar

💡 Jika Anda ingin memastikan Anda tidak melupakan kebiasaan Anda, silakan bergabung dengan akademi email gratis kami untuk tutorial baru mingguan dan pengingat belajar di INBOX Anda

Baca juga daftar tutorial berikut dan buka 3 tutorial menarik di tab browser baru untuk memulai — atau melanjutkan kebiasaan belajar Anda yang sudah ada — hari ini. 🚀

Dasar Python

  • Python Satu Baris Untuk Loop
  • Impor Modul Dari Folder Lain
  • Tentukan Jenis Objek Python
  • Konversi Daftar String ke Daftar Int
  • Ubah Daftar Int menjadi Daftar String
  • Ubah Daftar String menjadi Daftar Terapung
  • Konversi Daftar ke NumPy Array
  • Tambahkan Data ke File JSON
  • Saring Daftar Python
  • Daftar Bersarang

Manajemen Ketergantungan Python

  • Instal PIP
  • Cara Memeriksa Versi Python Anda
  • Periksa Versi Pandas dalam Skrip
  • Periksa Versi Python Jupyter
  • Periksa Versi Paket PIP

Debug Python

  • Tangkap dan Cetak Pengecualian
  • Indeks Daftar Di Luar Jangkauan
  • Perbaiki Kesalahan Nilai Kebenaran
  • Tidak Dapat Mengimpor Nama X Kesalahan

Hal menyenangkan

  • 5 Cheat Sheet yang Harus Dimiliki Setiap Pembuat Kode Python
  • 10 Teka-teki Python Terbaik untuk Menemukan Tingkat Keahlian Sejati Anda
  • Bagaimana $1000 di Sampingan sebagai Freelancer Python

Terima kasih telah belajar dengan Finxter

Humor Pemrograman – Python

Cara membuat daftar bersarang dengan python
“Saya menulis 20 program singkat dengan Python kemarin. Itu sangat indah. Perl, aku meninggalkanmu. ” —xkcd

Kemana Pergi Dari Sini?

Cukup teori. Mari kita berlatih

Pembuat kode dibayar enam digit atau lebih karena mereka dapat memecahkan masalah dengan lebih efektif menggunakan kecerdasan mesin dan otomasi

Untuk menjadi lebih sukses dalam pengkodean, selesaikan lebih banyak masalah nyata untuk orang-orang nyata. Begitulah cara Anda memoles keterampilan yang benar-benar Anda butuhkan dalam latihan. Lagi pula, apa gunanya teori belajar yang tidak dibutuhkan siapa pun?

Anda membangun keterampilan pengkodean bernilai tinggi dengan mengerjakan proyek pengkodean praktis

Apakah Anda ingin berhenti belajar dengan proyek mainan dan fokus pada proyek kode praktis yang memberi Anda uang dan memecahkan masalah nyata bagi orang-orang?

🚀 Jika jawaban Anda adalah YA. , pertimbangkan untuk menjadi pengembang lepas Python. Ini adalah cara terbaik untuk mendekati tugas meningkatkan keterampilan Python Anda—bahkan jika Anda benar-benar pemula

Jika Anda hanya ingin belajar tentang peluang freelancing, jangan ragu untuk menonton webinar gratis saya “Bagaimana Membangun Keterampilan Berpenghasilan Tinggi Anda Python” dan pelajari bagaimana saya mengembangkan bisnis coding saya secara online dan bagaimana Anda juga bisa—dari kenyamanan Anda

Bergabunglah dengan webinar gratis sekarang

Cara membuat daftar bersarang dengan python

Chris

Saat bekerja sebagai peneliti dalam sistem terdistribusi, Dr. Christian Mayer menemukan cintanya untuk mengajar siswa ilmu komputer

Untuk membantu siswa mencapai tingkat kesuksesan Python yang lebih tinggi, dia mendirikan situs web pendidikan pemrograman Finxter. com. Dia adalah penulis buku pemrograman populer Python One-Liners (NoStarch 2020), rekan penulis seri Coffee Break Python dari buku yang diterbitkan sendiri, penggemar ilmu komputer, pekerja lepas, dan pemilik salah satu dari 10 blog Python terbesar di dunia

Kesukaannya adalah menulis, membaca, dan coding. Tetapi hasrat terbesarnya adalah untuk melayani calon pembuat kode melalui Finxter dan membantu mereka meningkatkan keterampilan mereka. Anda dapat bergabung dengan akademi email gratisnya di sini

Bagaimana cara membuat daftar daftar bersarang?

Daftar bersarang dibuat dengan menempatkan urutan subdaftar yang dipisahkan koma .

Bagaimana Anda membuat daftar di dalam daftar dengan Python?

Menggunakan fungsi append() untuk membuat daftar daftar dengan Python. Apa yang dilakukan fungsi append() adalah menggabungkan semua daftar sebagai elemen ke dalam satu daftar. Itu menambahkan daftar di akhir daftar.

Bagaimana Anda membuat daftar bersarang di Python dengan input pengguna?

Mengambil input daftar bersarang di python .
Take two list , one for storing sublist and other one for storing elements of sublist
Ambil loop bersarang untuk mengambil input dari daftar akhir serta sublist
setelah setiap iterasi atur sublist ke null
Cetak daftar

Bisakah kita membuat daftar Nest dengan Python?

Pemahaman Daftar adalah salah satu fitur Python yang paling menakjubkan. Ini adalah cara yang cerdas dan ringkas untuk membuat daftar dengan mengulangi objek yang dapat diubah. Pemahaman Daftar Bersarang tidak lain adalah pemahaman daftar di dalam pemahaman daftar lainnya yang sangat mirip dengan for loop bersarang.