Hướng dẫn how do you add multiple lists to a list in python? - làm cách nào để bạn thêm nhiều danh sách vào một danh sách trong python?

Tôi có một loạt các danh sách tôi muốn nối vào một danh sách duy nhất là danh sách "chính" trong một chương trình tôi đang cố gắng viết. Có cách nào để làm điều này trong một dòng mã hơn là như 10 không? Tôi là người mới bắt đầu nên tôi không biết ...

Để có một bức tranh tốt hơn về câu hỏi của tôi, điều gì sẽ xảy ra nếu tôi có những danh sách sau:

x = [1, 2, 3] y = [4, 5, 6] z = [7, 8, 9]

Và muốn nối các y và z lên x. Thay vì làm:

x.append(y) x.append(z)

Có cách nào để làm điều này trong một dòng mã không? Tôi đã thử:

x.append(y, z)

Và nó sẽ không hoạt động.

Đã hỏi ngày 3 tháng 1 năm 2013 lúc 0:54Jan 3, 2013 at 0:54

6

x.extend(y+z)

Nên làm những gì bạn muốn

hoặc

x += y+z

hoặc thậm chí

x = x+y+z

Đã trả lời ngày 3 tháng 1 năm 2013 lúc 0:57Jan 3, 2013 at 0:57

Joran Beasleyjoran BeasleyJoran Beasley

106K12 Huy hiệu vàng148 Huy hiệu bạc174 Huy hiệu đồng12 gold badges148 silver badges174 bronze badges

4

Bạn có thể sử dụng hàm x.append(y) x.append(z) 4 với giá trị bắt đầu (danh sách trống) được chỉ định:

a = sum([x, y, z], [])

Điều này đặc biệt phù hợp hơn nếu bạn muốn nối một số lượng danh sách tùy ý.

Đã trả lời ngày 19 tháng 1 năm 2017 lúc 21:59Jan 19, 2017 at 21:59

Seo Seominjoon MinjoonMinjoon Seo

4866 Huy hiệu bạc10 Huy hiệu Đồng6 silver badges10 bronze badges

Mở rộng bình luận của tôi

In [1]: x = [1, 2, 3] In [2]: y = [4, 5, 6] In [3]: z = [7, 8, 9] In [4]: from itertools import chain In [5]: print list(chain(x,y,z)) [1, 2, 3, 4, 5, 6, 7, 8, 9]

Đã trả lời ngày 3 tháng 1 năm 2013 lúc 1:09Jan 3, 2013 at 1:09

night-crawlernight-crawlernight-crawler

1.3701 Huy hiệu vàng26 Huy hiệu bạc38 Huy hiệu đồng1 gold badge26 silver badges38 bronze badges

1

Để sao chép chính xác hiệu ứng của phụ lục, hãy thử chức năng sau, đơn giản và hiệu quả:

a=[] def concats (lists): for i in lists: a==a.append(i) concats ([x,y,z]) print(a)

Đã trả lời ngày 16 tháng 3 năm 2019 lúc 15:11Mar 16, 2019 at 15:11

jillm_5jillm_5jillm_5

Phim huy hiệu bạc 1711 Huy hiệu đồng1 silver badge6 bronze badges

Nếu bạn thích một cách tiếp cận chức năng hơn một chút, bạn có thể thử:

import functools as f x = [1, 2, 3] y = [4, 5, 6] z = [7, 8, 9] x = f.reduce(lambda x, y: x+y, [y, z], x)

Điều này sẽ cho phép bạn kết hợp bất kỳ số lượng danh sách nào vào danh sách x.append(y) x.append(z) 5.

Nếu bạn chỉ muốn kết hợp bất kỳ số lượng danh sách nào với nhau (nghĩa là không vào một danh sách cơ sở), bạn có thể đơn giản hóa để:

x.append(y) x.append(z) 0

Hãy lưu ý rằng BFDL của chúng tôi có các đặt phòng của anh ấy liên quan đến Lambdas, giảm và bạn bè: //www.artima.com/weblogs/viewpost.jsp?thread=98196

Để hoàn thành câu trả lời này, bạn có thể đọc thêm về giảm trong tài liệu: //docs.python.org/3/l Library

Tôi trích dẫn: "Áp dụng chức năng của hai đối số tích lũy cho các mục trình tự, từ trái sang phải, để giảm trình tự xuống một giá trị duy nhất."

P.S. //stackoverflow.com/a/33277438/532513 So sánh hiệu suất của các phương pháp khác nhau để kết hợp danh sách.

Đã trả lời ngày 23 tháng 5 năm 2018 lúc 12:00May 23, 2018 at 12:00

Charl bothacharl cả haiCharl Botha

4.20833 Huy hiệu bạc49 Huy hiệu đồng33 silver badges49 bronze badges

2

tương đương với câu trả lời ở trên, nhưng đủ khác nhau để có giá trị được đề cập:

x.append(y) x.append(z) 1

Trong biểu thức trên, * rất quan trọng đối với kết quả groking như là chuỗi đối với chuỗi, điều này giống như chuỗi trước (x, y, z). Ngoài ra, lưu ý kết quả được đặt hàng băm.

Đã trả lời ngày 7 tháng 1 năm 2016 lúc 21:48Jan 7, 2016 at 21:48

Msuddermsuddermsudder

4913 Huy hiệu bạc14 Huy hiệu đồng3 silver badges14 bronze badges

Trong một dòng, nó có thể được thực hiện theo những cách sau

x.extend(y+z)

hoặc

x.append(y) x.append(z) 3

hoặc thậm chíMay 28, 2018 at 4:05

wingman__7wingman__7wingman__7

Đã trả lời ngày 3 tháng 1 năm 2013 lúc 0:5713 silver badges17 bronze badges

Làm cách nào để tạo nhiều danh sách thành một danh sách trong Python?

Trong Python, chúng ta có thể sử dụng toán tử + để hợp nhất nội dung của hai danh sách thành một danh sách mới.Ví dụ: chúng ta có thể sử dụng toán tử + để hợp nhất hai danh sách, tức là nó đã trả về một danh sách được nối mới, chứa nội dung của cả List_1 và List_2.use the + operator to merge the contents of two lists into a new list. For example, We can use + operator to merge two lists i.e. It returned a new concatenated lists, which contains the contents of both list_1 and list_2.

Làm cách nào để thêm nhiều danh sách vào một danh sách?

Phương pháp số 1: Sử dụng toán tử + Điều này có thể dễ dàng thực hiện bằng toán tử cộng vì nó thực hiện bổ sung phần tử ở mặt sau của danh sách.Logic tương tự được mở rộng trong trường hợp nhiều danh sách.Using + operator This can be easily done using the plus operator as it does the element addition at the back of the list. Similar logic is extended in the case of multiple lists.

Làm thế nào để bạn hợp nhất 3 danh sách trong Python?

Giải trình.Ở đây, ba danh sách được kết hợp với nhau bằng cách sử dụng toán tử +.Điều này được sử dụng vì toán tử + là một trong những cách dễ nhất để kết hợp nhiều danh sách thành một danh sách duy nhất.using + operator. This is used because the + operator is one of the easiest ways to combine multiple lists into a single one.

Bạn có thể thêm danh sách vào danh sách trong Python không?

Python Thêm danh sách vào danh sách.Để thêm một danh sách vào danh sách trong Python, hãy sử dụng phương thức Danh sách mở rộng ().Danh sách mở rộng () là một hàm Python tích hợp bổ sung tất cả các mục của một sự lặp lại (danh sách, tuple, chuỗi, v.v.) vào cuối danh sách.use the list extend() method. The list extend() is a built-in Python function that adds all the items of an iterable (list, tuple, string, etc.) to the end of the list.

Chủ đề