Chuyển đổi danh sách thành danh sách của danh sách Python

Đừng sợ tên- danh sách của danh sách. Nó chẳng là gì ngoài một danh sách với các danh sách khác là một phần tử. Trong hướng dẫn này, chúng ta sẽ tìm hiểu về các cách khác nhau để tạo danh sách danh sách trong Python

Mục lục

  • Danh sách các danh sách là gì?
  • Sử dụng hàm append[] để tạo list list trong Python
  • Tạo danh sách các danh sách bằng trình khởi tạo danh sách trong Python
  • Sử dụng khả năng hiểu danh sách để tạo danh sách danh sách
  • Sử dụng vòng lặp for để tạo danh sách danh sách trong Python
  • Bớt tư tưởng

Danh sách các danh sách là gì?

Trong bất kỳ ngôn ngữ lập trình nào, danh sách được sử dụng để lưu trữ nhiều mục trong một biến. Trong Python, chúng ta có thể tạo một danh sách bằng cách bao quanh tất cả các phần tử bằng dấu ngoặc vuông [] và mỗi phần tử được phân tách bằng dấu phẩy. Nó có thể được sử dụng để lưu trữ số nguyên, số float, chuỗi, v.v.

Python cung cấp tùy chọn tạo danh sách trong danh sách. Nói một cách đơn giản, nó là một danh sách lồng nhau nhưng có một hoặc nhiều danh sách bên trong như một phần tử.

Đây là một ví dụ về danh sách các danh sách để làm cho mọi thứ rõ ràng hơn.

[[a,b],[c,d],[e,f]]

Ở đây, [a,b], [c,d] và [e,f] là các danh sách riêng biệt được chuyển thành phần tử để tạo danh sách mới. Đây là một danh sách các danh sách

Bây giờ chúng ta sẽ thảo luận về các cách khác nhau để tạo danh sách danh sách trong Python

Sử dụng hàm append[] để tạo list list trong Python

Chức năng append[] thực hiện là nó kết hợp tất cả các danh sách dưới dạng phần tử thành một danh sách. Nó thêm một danh sách vào cuối danh sách.

Để hiểu đầy đủ về cách thức hoạt động của các hàm này, chúng ta sẽ tạo hai danh sách và sau đó sử dụng hàm append[] để kết hợp chúng thành một danh sách

Đầu vào

# Create 2 independent lists
list_1 = [a,b,c]
list_2 = [d,e,f]

# Create an empty list
list = []

# Create List of lists
list.append[list_1]
list.append[list_2]
print [list]

đầu ra

[[a,b,c],[d,e,f]]

Tạo danh sách các danh sách bằng trình khởi tạo danh sách trong Python

Sử dụng trình khởi tạo danh sách, chúng tôi coi danh sách là phần tử. Chúng tôi tạo một danh sách các danh sách bằng cách chuyển danh sách dưới dạng phần tử. Đây là cách dễ nhất để tạo một danh sách các danh sách

Đầu vào

# Create 2 independent lists 
list_1 = [a,b,c] 
list_2 = [d,e,f]

# Create List of lists 
list = [list1, list2]

# Display result
print[list]

đầu ra

[[a,b,c],[d,e,f]]


Sử dụng khả năng hiểu danh sách để tạo danh sách các danh sách trong Python

Hiểu danh sách là một phương pháp hơi phức tạp nhưng ngắn gọn để tạo danh sách các danh sách trong Python

Đầu vào

list_1 = [a,b,c]
list = [l1 for i in range[3]]
print[list]

đầu ra

[[a,b,c],[a,b,c],[a,b,c]]


Sử dụng vòng lặp for để tạo danh sách các danh sách trong Python

Bạn cũng có thể sử dụng vòng lặp for để tạo một danh sách các danh sách. Đây là một đoạn mã để hiểu rõ hơn

Đầu vào

list = []

# Create List of list
for i in range[2]:
    list.append[[]]
    for j in range[3]: 
        list[i].append[j]

print[lst] 

đầu ra

[[a,b,c],[a,b,c]]

Kết thúc suy nghĩ

Danh sách các danh sách là một danh sách trong đó mỗi phần tử là một danh sách. List là một trong 4 kiểu dữ liệu có sẵn trong Python. Mọi người có thể tìm hiểu thêm về các kiểu dữ liệu Python khác tại đây

Làm phẳng danh sách các danh sách trong Python đang chuyển đổi danh sách lồng nhau thành danh sách đơn bình thường. Nó có nghĩa là quá trình chuyển đổi danh sách 2D thành danh sách 1D. Ví dụ: chuyển đổi [[1, 2, 3], [‘a’, ‘b’, ‘c’], [1. 1, 3. 0, 7. 4], [True, False]] thành [1, 2, 3, ’a’, ’b’, ’c’, 1. 1, 3. 0, 7. 4, Đúng, Sai].

Thực hiện ví dụ dưới đây

Danh sách là một trong những cấu trúc dữ liệu linh hoạt nhất trong Python. Người ta có thể tạo các đối tượng danh sách đơn hoặc nhiều đối tượng danh sách hoặc các đối tượng danh sách lồng nhau có nghĩa là danh sách 2-D có nghĩa là danh sách bên trong danh sách trong chương trình của họ. Tạo một danh sách lồng nhau rất dễ dàng, nhưng khi một lập trình viên muốn tất cả các danh sách bên trong một danh sách cùng nhau dưới dạng một danh sách duy nhất, họ cần làm phẳng nó

Có nhiều cách để thực hiện thao tác làm phẳng này. Chúng tôi sẽ thảo luận về một số trong số họ trong hướng dẫn này

  1. Danh sách hiểu
  2. Sử dụng hàm sum[]
  3. Với toán tử +=
  4. hàm chain[]
  5. Funcools – Giảm thao tác
  6. Vòng lặp lồng nhau – cách tiếp cận lặp đi lặp lại
  7. Numpy – Nối và phẳng
  8. Lambda

Mục lục

Danh sách hiểu

Làm phẳng danh sách các danh sách thành một danh sách thông thường ta có thể sử dụng phương pháp hiểu danh sách. Giống như bên dưới

Mã ví dụ

if __name__ == '__main__':
    lists = [[1, 2, 3], [True, False], [6.1, 7.3, 8.0], ['a', 'b', 'c']]
    joinedlist = []
    [joinedlist.extend[list] for list in lists]
    print[joinedlist]
 

Hoặc

# Create 2 independent lists
list_1 = [a,b,c]
list_2 = [d,e,f]

# Create an empty list
list = []

# Create List of lists
list.append[list_1]
list.append[list_2]
print [list]
0

đầu ra

Sử dụng hàm sum[]

Hàm sum[] sẽ thêm các phần tử danh sách bên trong danh sách và trả về một danh sách duy nhất. Để chuyển danh sách các danh sách thành danh sách đơn, ta sẽ cộng danh sách lồng vào danh sách rỗng để được danh sách thông thường

Mã ví dụ

# Create 2 independent lists
list_1 = [a,b,c]
list_2 = [d,e,f]

# Create an empty list
list = []

# Create List of lists
list.append[list_1]
list.append[list_2]
print [list]
1

đầu ra

Với += Toán Tử

Trong phần này, chúng ta sẽ sử dụng vòng lặp for để thêm từng phần tử của danh sách lồng nhau vào danh sách trống bằng toán tử +=

Mã ví dụ

# Create 2 independent lists
list_1 = [a,b,c]
list_2 = [d,e,f]

# Create an empty list
list = []

# Create List of lists
list.append[list_1]
list.append[list_2]
print [list]
2

đầu ra

itertools. hàm chain[]

Chúng tôi sẽ sử dụng itertools. chain[] Hàm làm phẳng các danh sách thành một danh sách duy nhất bằng cách lặp lại các mục danh sách

Mã ví dụ

# Create 2 independent lists
list_1 = [a,b,c]
list_2 = [d,e,f]

# Create an empty list
list = []

# Create List of lists
list.append[list_1]
list.append[list_2]
print [list]
3

đầu ra

Funcools – Giảm thao tác

Ở đây, nó thêm các phần tử của danh sách ban đầu bằng cách giảm hoạt động của mô-đun funcools thành danh sách phẳng

Mã ví dụ

# Create 2 independent lists
list_1 = [a,b,c]
list_2 = [d,e,f]

# Create an empty list
list = []

# Create List of lists
list.append[list_1]
list.append[list_2]
print [list]
4

đầu ra

Vòng lặp lồng nhau

Sử dụng các vòng lặp lồng nhau, chúng ta có thể nối tất cả các phần tử của danh sách lồng vào trong một danh sách mới. Bằng cách này, chúng ta có thể làm phẳng danh sách các danh sách

Mã ví dụ

# Create 2 independent lists
list_1 = [a,b,c]
list_2 = [d,e,f]

# Create an empty list
list = []

# Create List of lists
list.append[list_1]
list.append[list_2]
print [list]
5

đầu ra

Mô-đun Numpy – Nối và phẳng

Thư viện Numpy có nhiều thao tác, một trong số đó là nối. Hoạt động này có thể được sử dụng để làm phẳng danh sách

Mã ví dụ

# Create 2 independent lists
list_1 = [a,b,c]
list_2 = [d,e,f]

# Create an empty list
list = []

# Create List of lists
list.append[list_1]
list.append[list_2]
print [list]
6

đầu ra

Lambda

Từ khóa lambda được sử dụng để xác định chức năng ẩn danh. Một danh sách sẽ chuyển thành đối số trong hàm và hàm lambda sẽ chuyển đổi chúng từ 2D sang 1D hoặc danh sách gốc thành danh sách phẳng

Mã ví dụ

# Create 2 independent lists
list_1 = [a,b,c]
list_2 = [d,e,f]

# Create an empty list
list = []

# Create List of lists
list.append[list_1]
list.append[list_2]
print [list]
7

đầu ra

Phần kết luận

Để kết luận, chúng tôi đã thảo luận về cách làm phẳng danh sách các danh sách trong Python. Chúng tôi đã xem quy trình sử dụng tám cách khác nhau với các ví dụ viết mã hoặc chương trình Python của họ để hiểu rõ hơn về quy trình

Làm cách nào để chuyển đổi danh sách danh sách thành danh sách chuỗi Python?

Để chuyển đổi danh sách thành chuỗi, hãy sử dụng chức năng Hiểu danh sách Python và hàm join[] . Việc hiểu danh sách sẽ duyệt qua từng phần tử một và phương thức nối [] sẽ nối các phần tử của danh sách thành một chuỗi mới và trả về nó dưới dạng đầu ra.

Làm cách nào để chuyển đổi danh sách đa chiều thành danh sách đơn trong Python?

Có thể chuyển đổi danh sách nhiều chiều như l=[[1,2],[3,4]] thành danh sách 1D bằng cách thực hiện sum[l,[]]< . Làm thế nào để điều này xảy ra? . Ví dụ: nếu A là danh sách 3D, thì sum[sum[A],[]],[]] sẽ làm phẳng A thành danh sách 1D. ] . How does this happen? [This doesn't work directly for higher multidimensional lists, but it can be repeated to handle those cases. For example if A is a 3D-list, then sum[sum[A],[]],[]] will flatten A to a 1D list.]

Làm cách nào để chuyển đổi chuỗi thành danh sách các danh sách?

Cách chuyển đổi một chuỗi thành một danh sách các từ. Một cách khác để chuyển đổi một chuỗi thành một danh sách là sử dụng phương thức split[] Python . Phương thức split[] tách một chuỗi thành một danh sách, trong đó mỗi mục danh sách là mỗi từ tạo nên chuỗi. Mỗi từ sẽ là một mục danh sách riêng lẻ.

Chủ Đề