Hướng dẫn python combine two lists into tuples - python kết hợp hai danh sách thành bộ giá trị

352

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Cách tiếp cận pythonic để đạt được những điều sau đây là gì?

# Original lists:

list_a = [1, 2, 3, 4]
list_b = [5, 6, 7, 8]

# List of tuples from 'list_a' and 'list_b':

list_c = [(1,5), (2,6), (3,7), (4,8)]

Mỗi thành viên của

>>> list_a = [1, 2, 3, 4]
>>> list_b = [5, 6, 7, 8]
>>> zip(list_a, list_b)
[(1, 5), (2, 6), (3, 7), (4, 8)]
4 là một tuple, có thành viên đầu tiên là từ
>>> list_a = [1, 2, 3, 4]
>>> list_b = [5, 6, 7, 8]
>>> zip(list_a, list_b)
[(1, 5), (2, 6), (3, 7), (4, 8)]
5 và thứ hai là từ
>>> list_a = [1, 2, 3, 4]
>>> list_b = [5, 6, 7, 8]
>>> zip(list_a, list_b)
[(1, 5), (2, 6), (3, 7), (4, 8)]
6.

Hướng dẫn python combine two lists into tuples - python kết hợp hai danh sách thành bộ giá trị

hỏi ngày 9 tháng 3 năm 2010 lúc 7:51Mar 9, 2010 at 7:51

0

Trong Python 2:

>>> list_a = [1, 2, 3, 4]
>>> list_b = [5, 6, 7, 8]
>>> zip(list_a, list_b)
[(1, 5), (2, 6), (3, 7), (4, 8)]

Trong Python 3:

>>> list_a = [1, 2, 3, 4]
>>> list_b = [5, 6, 7, 8]
>>> list(zip(list_a, list_b))
[(1, 5), (2, 6), (3, 7), (4, 8)]

mrgloom

18,5K30 Huy hiệu vàng157 Huy hiệu bạc272 Huy hiệu Đồng30 gold badges157 silver badges272 bronze badges

Đã trả lời ngày 9 tháng 3 năm 2010 lúc 7:52Mar 9, 2010 at 7:52

Hướng dẫn python combine two lists into tuples - python kết hợp hai danh sách thành bộ giá trị

BạnYOU

Huy hiệu vàng 116K3232 gold badges184 silver badges216 bronze badges

5

Trong Python 3.0 zip trả về một đối tượng zip. Bạn có thể nhận được một danh sách từ đó bằng cách gọi

>>> list_a = [1, 2, 3, 4]
>>> list_b = [5, 6, 7, 8]
>>> zip(list_a, list_b)
[(1, 5), (2, 6), (3, 7), (4, 8)]
7.

Hướng dẫn python combine two lists into tuples - python kết hợp hai danh sách thành bộ giá trị

Jamylak

124K29 Huy hiệu vàng227 Huy hiệu bạc228 Huy hiệu Đồng29 gold badges227 silver badges228 bronze badges

Đã trả lời ngày 28 tháng 2 năm 2011 lúc 19:26Feb 28, 2011 at 19:26

LodewijklodewijkLodewijk

3,5212 Huy hiệu vàng17 Huy hiệu bạc15 Huy hiệu đồng2 gold badges17 silver badges15 bronze badges

1

Bạn có thể sử dụng bản đồ Lambda

a = [2,3,4]
b = [5,6,7]
c = map(lambda x,y:(x,y),a,b)

Điều này cũng sẽ hoạt động nếu có độ dài của danh sách ban đầu không khớp

Đã trả lời ngày 4 tháng 7 năm 2015 lúc 5:49Jul 4, 2015 at 5:49

Hiệp sĩ bóng tốiDark Knight

8391 Huy hiệu vàng8 Huy hiệu bạc18 Huy hiệu đồng1 gold badge8 silver badges18 bronze badges

6

Bạn đang tìm kiếm chức năng tích hợp zip.

Đã trả lời ngày 9 tháng 3 năm 2010 lúc 7:55Mar 9, 2010 at 7:55

MizipzormizipzorMizipzor

49,7K22 Huy hiệu vàng94 Huy hiệu bạc138 Huy hiệu đồng22 gold badges94 silver badges138 bronze badges

Tôi không chắc đây có phải là cách pythonic hay không nhưng điều này có vẻ đơn giản nếu cả hai danh sách có cùng số lượng yếu tố:

list_a = [1, 2, 3, 4]

list_b = [5, 6, 7, 8]

list_c=[(list_a[i],list_b[i]) for i in range(0,len(list_a))]

JEE MOK

5.6398 Huy hiệu vàng44 Huy hiệu bạc71 Huy hiệu đồng8 gold badges44 silver badges71 bronze badges

Đã trả lời ngày 11 tháng 9 năm 2018 lúc 7:51Sep 11, 2018 at 7:51

Hướng dẫn python combine two lists into tuples - python kết hợp hai danh sách thành bộ giá trị

VipinvipinVipin

991 Huy hiệu bạc4 Huy hiệu đồng1 silver badge4 bronze badges

0

Đầu ra mà bạn đã hiển thị trong câu lệnh vấn đề không phải là tuple mà là danh sách

list_c = [(1,5), (2,6), (3,7), (4,8)]

kiểm tra

type(list_c)

Xem xét bạn muốn kết quả là tuple ra khỏi list_a và list_b, làm

tuple(zip(list_a,list_b)) 

Đã trả lời ngày 12 tháng 5 năm 2016 lúc 14:52May 12, 2016 at 14:52

Cyborgcyborgcyborg

8501 Huy hiệu vàng15 Huy hiệu bạc33 Huy hiệu đồng1 gold badge15 silver badges33 bronze badges

2

Tôi biết đây là một câu hỏi cũ và đã được trả lời, nhưng vì một số lý do, tôi vẫn muốn đăng giải pháp thay thế này. Tôi biết thật dễ dàng khi chỉ cần tìm ra chức năng tích hợp nào thực hiện "phép thuật" mà bạn cần, nhưng không đau khi biết bạn có thể tự làm điều đó.

>>> list_1 = ['Ace', 'King']
>>> list_2 = ['Spades', 'Clubs', 'Diamonds']
>>> deck = []
>>> for i in range(max((len(list_1),len(list_2)))):
        while True:
            try:
                card = (list_1[i],list_2[i])
            except IndexError:
                if len(list_1)>len(list_2):
                    list_2.append('')
                    card = (list_1[i],list_2[i])
                elif len(list_1)>>
>>> #and the result should be:
>>> print deck
>>> [('Ace', 'Spades'), ('King', 'Clubs'), ('', 'Diamonds')]

Đã trả lời ngày 17 tháng 2 năm 2014 lúc 10:01Feb 17, 2014 at 10:01

KrugerkrugerKruger

1771 Huy hiệu bạc4 Huy hiệu đồng1 silver badge4 bronze badges

1

Hoặc

>>> list_a = [1, 2, 3, 4]
>>> list_b = [5, 6, 7, 8]
>>> zip(list_a, list_b)
[(1, 5), (2, 6), (3, 7), (4, 8)]
8 với việc giải nén:

>>> list(map(lambda *x: x, list_a, list_b))
[(1, 5), (2, 6), (3, 7), (4, 8)]
>>> 

Đã trả lời ngày 9 tháng 11 năm 2021 lúc 5:39Nov 9, 2021 at 5:39

Hướng dẫn python combine two lists into tuples - python kết hợp hai danh sách thành bộ giá trị

U12-ForwardU12-ForwardU12-Forward

66.4K13 Huy hiệu vàng77 Huy hiệu bạc96 Huy hiệu Đồng13 gold badges77 silver badges96 bronze badges

Một thay thế mà không cần sử dụng

>>> list_a = [1, 2, 3, 4]
>>> list_b = [5, 6, 7, 8]
>>> zip(list_a, list_b)
[(1, 5), (2, 6), (3, 7), (4, 8)]
9:

>>> list_a = [1, 2, 3, 4]
>>> list_b = [5, 6, 7, 8]
>>> zip(list_a, list_b)
[(1, 5), (2, 6), (3, 7), (4, 8)]
0

Trong trường hợp người ta muốn nhận được không chỉ Tuples 1st với số 1, thứ 2 với thứ 2 ... mà tất cả các kết hợp có thể có của 2 danh sách, điều đó sẽ được thực hiện với

>>> list_a = [1, 2, 3, 4]
>>> list_b = [5, 6, 7, 8]
>>> zip(list_a, list_b)
[(1, 5), (2, 6), (3, 7), (4, 8)]
1

Đã trả lời ngày 15 tháng 5 năm 2018 lúc 13:57May 15, 2018 at 13:57

Hướng dẫn python combine two lists into tuples - python kết hợp hai danh sách thành bộ giá trị

J0ANMMJ0ANMMJ0ANMM

7.1839 Huy hiệu vàng 50 Huy hiệu bạc87 Huy hiệu Đồng9 gold badges50 silver badges87 bronze badges

Giống như tôi, nếu bất cứ ai cần chuyển đổi nó thành danh sách danh sách (danh sách 2D) thay vì danh sách các bộ dữ liệu, thì bạn có thể làm như sau:

>>> list_a = [1, 2, 3, 4]
>>> list_b = [5, 6, 7, 8]
>>> zip(list_a, list_b)
[(1, 5), (2, 6), (3, 7), (4, 8)]
2

Nó sẽ trả lại danh sách 2D như sau:

>>> list_a = [1, 2, 3, 4]
>>> list_b = [5, 6, 7, 8]
>>> zip(list_a, list_b)
[(1, 5), (2, 6), (3, 7), (4, 8)]
3

Đã trả lời ngày 15 tháng 1 lúc 6:44Jan 15 at 6:44

Làm cách nào để hợp nhất hai danh sách thành một tuple trong Python?

Cách pythonic nhất để hợp nhất nhiều danh sách l0, l1, ..., ln vào một danh sách các bộ dữ ). Nếu bạn lưu trữ danh sách của mình trong danh sách các danh sách LST, hãy viết ZIP (*LST) để giải nén tất cả các danh sách bên trong vào chức năng ZIP.use the zip() function zip(l0, l1, ..., ln) . If you store your lists in a list of lists lst , write zip(*lst) to unpack all inner lists into the zip function.

Làm thế nào để bạn kết hợp danh sách và bộ dữ liệu?

Thực hiện theo các bước dưới đây để hoàn thành nhiệm vụ ...
Khởi tạo danh sách với các bộ dữ liệu có chứa chuỗi ..
Viết một chức năng gọi là Join_Tuple_String lấy Tuple làm đối số và trả về một chuỗi ..
Tham gia các bộ dữ liệu trong danh sách bằng phương thức MAP (Join_Tuple_String, List) ..
Chuyển đổi kết quả thành danh sách ..
In kết quả ..

Làm cách nào để hợp nhất hai danh sách vào một danh sách trong Python?

Concatenate hai danh sách trong Python trong hầu hết các tình huống đơn giản, sử dụng List1 + List2 là cách bạn muốn kết hợp danh sách.Các trường hợp cạnh dưới đây tốt hơn trong một số tình huống, nhưng + nói chung là lựa chọn tốt nhất.Tất cả các tùy chọn được bảo hiểm trong Python 2.3, Python 2.7 và tất cả các phiên bản của Python 31.list1 + list2 is the way you want to concatenate lists. The edge cases below are better in some situations, but + is generally the best choice. All options covered work in Python 2.3, Python 2.7, and all versions of Python 31.

Bạn có thể kết hợp danh sách và bộ dữ liệu trong Python không?

Để kết hợp các bộ dữ liệu, chúng tôi sẽ sử dụng chức năng Sum Sum và nó sẽ kết hợp các giá trị Tuples.Để có được đầu ra, tôi đã sử dụng in (res).Bạn có thể tham khảo ảnh chụp màn hình dưới đây cho đầu ra.Đây là cách chúng ta có thể kết hợp các bộ dữ liệu trong Python.. To get the output, I have used print(res). You can refer to the below screenshot for the output. This is how we can concatenate tuples in Python.