Hướng dẫn inner join two lists python - tham gia bên trong hai danh sách python

Tôi đã thử một lúc nhưng không thể tìm thấy một cách đơn giản để tham gia 2 danh sách hoặc mảng chỉ dựa trên các giá trị chung. Tương tự như tham gia bên trong SQL nhưng với các mảng/danh sách và không phải Dict, hoặc một số loại dữ liệu khác. ví dụ.

a = [1, 2, 3]
b = [2, 3, 4]
join(a, b)

bản in

[2, 3]

Có vẻ rất đơn giản nhưng thiếu từ Python hoặc Numpy.

hỏi ngày 5 tháng 2 năm 2015 lúc 8:36Feb 5, 2015 at 8:36

Hướng dẫn inner join two lists python - tham gia bên trong hai danh sách python

2

Có thể là một bản sao, nhưng trong trường hợp nó không phải là:

>>> a = [1,2,3]
>>> b = [2,3,4]
>>> list(set(a) & set(b))
[2, 3]

Để biết danh sách lớn (dữ liệu bên ngoài), hãy xem S.O. câu trả lời.

Đã trả lời ngày 5 tháng 2 năm 2015 lúc 8:40Feb 5, 2015 at 8:40

Ray Toalray ToalRay Toal

84.1K17 Huy hiệu vàng175 Huy hiệu bạc224 Huy hiệu đồng17 gold badges175 silver badges224 bronze badges

3

Nếu bạn cần giữ danh sách theo cùng thứ tự như trong

>>> a = [1,2,3]
>>> b = [2,3,4]
>>> list(set(a) & set(b))
[2, 3]
0:

a = [1, 2, 3]
b = [2, 3, 4]
c = [x for x in a if x in b]

Nếu thứ tự không quan trọng, hãy sử dụng Ray Answers, điều đó sẽ nhanh hơn, nhưng không được đảm bảo để giữ cho Danh sách thứ tự giống như thứ tự của các yếu tố trong

>>> a = [1,2,3]
>>> b = [2,3,4]
>>> list(set(a) & set(b))
[2, 3]
0.

Đã trả lời ngày 5 tháng 2 năm 2015 lúc 8:46Feb 5, 2015 at 8:46


Tham gia hai danh sách

Có một số cách để tham gia, hoặc concatenate, hai hoặc nhiều danh sách trong Python.

Một trong những cách dễ nhất là sử dụng toán tử

>>> a = [1,2,3]
>>> b = [2,3,4]
>>> list(set(a) & set(b))
[2, 3]
2.

Thí dụ

Tham gia hai danh sách:

list1 = ["a", "b", "c"] list2 = [1, 2, 3]
list2 = [1, 2, 3]

list3 = list1 + list2 in (list3)
print(list3)

Hãy tự mình thử »

Một cách khác để tham gia hai danh sách là sử dụng tất cả các mục từ List2 vào List1, từng cái một:

Thí dụ

Tham gia hai danh sách:

list1 = ["a", "b", "c"] list2 = [1, 2, 3]
list2 = [1, 2, 3]

list3 = list1 + list2 in (list3)
  list1.append(x)

print(list1)

Hãy tự mình thử »

Một cách khác để tham gia hai danh sách là sử dụng tất cả các mục từ List2 vào List1, từng cái một:

Thí dụ

Tham gia hai danh sách:

list1 = ["a", "b", "c"] list2 = [1, 2, 3]
list2 = [1, 2, 3]

list3 = list1 + list2 in (list3)
print(list1)

Hãy tự mình thử »




Hướng dẫn inner join two lists python - tham gia bên trong hai danh sách python

Trong bài viết này, chúng tôi sẽ thảo luận về các cách khác nhau để hợp nhất / tham gia hai hoặc nhiều danh sách trong Python.

Mục lục

  • Tham gia / hợp nhất hai danh sách trong Python bằng toán tử +.
  • Tham gia / hợp nhất hai danh sách trong Python bằng danh sách.extend ().
  • Tham gia / hợp nhất hai danh sách trong Python bằng cách giải nén.
  • Tham gia / hợp nhất hai danh sách trong Python bằng itertools.
  • Tham gia / hợp nhất hai danh sách trong Python sử dụng cho Loop.
  • Tham gia / hợp nhất nhiều danh sách trong Python.

Giả sử chúng ta có hai danh sách, tức là.

# List of strings
list1 = ["This" , "is", "a", "sample", "program"]

# List of ints
list2 = [10, 2, 45, 3, 5, 7, 8, 10]

Chúng tôi muốn hợp nhất nội dung của hai danh sách này vào một danh sách duy nhất, tức là.

['This', 'is', 'a', 'sample', 'program', 10, 2, 45, 3, 5, 7, 8, 10]

Có nhiều cách khác nhau để làm điều này. Hãy để chúng tôi thảo luận từng người một.

Quảng cáo

Tham gia / hợp nhất hai danh sách trong Python bằng cách sử dụng toán tử +

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à.

# List of strings
list_1 = ["This" , "is", "a", "sample", "program"]

# List of ints
list_2 = [10, 2, 45, 3, 5, 7, 8, 10]

# Merge two lists
final_list = list_1 + list_2

print('Merged List:')
print(final_list)

Output:

Merged List:
['This', 'is', 'a', 'sample', 'program', 10, 2, 45, 3, 5, 7, 8, 10]

Nó đã trả lại một danh sách được nối mới, chứa nội dung của cả List_1 và List_2. Trong khi đó, list_1 và list_2 vẫn giống như bản gốc.

Tham gia / hợp nhất hai danh sách trong Python bằng danh sách.extend ()

Trong ví dụ trước, chúng tôi đã tạo một danh sách mới chứa nội dung của cả hai danh sách. Nhưng nếu chúng ta muốn mở rộng bất kỳ danh sách hiện có? Chúng tôi có thể mở rộng bất kỳ danh sách hiện có nào bằng cách kết hợp nội dung của bất kỳ danh sách nào khác cho nó bằng cách sử dụng hàm mở rộng () của danh sách, tức là.

list.extend(anotherList)

list.Extend () làm cho một danh sách dài hơn bằng cách nối thêm các yếu tố của một danh sách khác ở cuối đối tượng danh sách gọi. Ví dụ, makes a list longer by appending the elements of another list at the end of the calling list object. For example,

# List of strings
list_1 = ["This" , "is", "a", "sample", "program"]

# List of ints
list_2 = [10, 2, 45, 3, 5, 7, 8, 10]

# Makes list1 longer by appending the elements of list2 at the end.
list_1.extend(list_2)

print('Merged List:')
print(list_1)

Đầu ra

Merged List:
['This', 'is', 'a', 'sample', 'program', 10, 2, 45, 3, 5, 7, 8, 10]

Nó đã mở rộng danh sách_1 bằng cách thêm nội dung của list_2 ở cuối list_1.

Tham gia / hợp nhất hai danh sách trong Python bằng cách sử dụng việc giải nén

Trong Python, chúng ta có thể giải nén nội dung trên bất kỳ đối tượng nào có thể sử dụng toán tử *. Vì vậy, *danh sách sẽ giải nén nội dung của một danh sách. Chúng tôi có thể giải nén nội dung của cả hai danh sách và tạo một danh sách mới với các nội dung được hợp nhất. Ví dụ,

[2, 3]
1

Output:

Merged List:
['This', 'is', 'a', 'sample', 'program', 10, 2, 45, 3, 5, 7, 8, 10]

Nó giải nén nội dung của cả hai danh sách và tạo một danh sách mới với nội dung của cả hai danh sách.

Tham gia / hợp nhất hai danh sách trong Python bằng itertools.chain ()

Trong Python, mô -đun itertools cung cấp chuỗi hàm () để hợp nhất nội dung của nhiều chuỗi có thể lặp lại,

[2, 3]
3

Nó tạo ra một chuỗi của tất cả các chuỗi có thể đi được truyền dưới dạng đối số và trả về một trình lặp.

Trình lặp này trả về các yếu tố từ chuỗi có thể lặp lại đầu tiên cho đến khi nó cạn kiệt và sau đó chuyển sang phần tiếp theo. Chúng ta có thể sử dụng trình lặp này để tạo một danh sách nội dung hợp nhất. Ví dụ,

[2, 3]
4

Output:

Merged List:
['This', 'is', 'a', 'sample', 'program', 10, 2, 45, 3, 5, 7, 8, 10]

Tham gia / hợp nhất hai danh sách trong Python bằng cách sử dụng Loop

Chúng ta có thể lặp lại tất cả các yếu tố của một danh sách bằng cách sử dụng vòng lặp và trong quá trình lặp lại, chúng ta có thể nối từng phần tử vào một danh sách khác. Bằng cách này, chúng ta có thể mở rộng nội dung của một danh sách. Ví dụ,

[2, 3]
6

Output:

[2, 3]
7

Chúng tôi đã lặp lại tất cả các phần tử trong List_2 và trong khi lặp lại đã thêm từng phần tử ở cuối List_1. Do đó, List_1 hiện được mở rộng và chứa nội dung của cả hai danh sách, tức là LIGHT_1 và LIST_2 gốc.

Tham gia / hợp nhất nhiều danh sách bằng cách sử dụng toán tử +

Chúng ta có thể hợp nhất nội dung của nhiều danh sách vào danh sách mới bằng toán tử +. Ví dụ,

[2, 3]
8

Output:

[2, 3]
9

Conclusion:

Chúng tôi đã tìm hiểu về các cách khác nhau để tham gia hoặc hợp nhất nhiều danh sách trong Python.

Làm thế nào để bạn tham gia hai danh sách trong Python?

Có một số cách để tham gia, hoặc concatenate, hai hoặc nhiều danh sách trong Python.Một trong những cách dễ nhất là sử dụng toán tử +.using the + operator.

Làm cách nào để hợp nhất các danh sách lồng nhau trong Python?

Sử dụng hàm SUM () để kết hợp danh sách lồng nhau vào một danh sách duy nhất bằng cách chuyển một danh sách trống như một đối số thứ hai cho nó..

Làm cách nào để hợp nhất tất cả các yếu tố trong danh sách Python?

Sử dụng phương thức tham gia () để kết hợp các mục trong danh sách vào một chuỗi.Jop () là một hàm chuỗi sẵn có trong python được sử dụng để nối các phần tử của chuỗi được phân tách bằng một dấu phân cách chuỗi.Hàm này tham gia các phần tử của một chuỗi và làm cho nó trở thành một chuỗi.. The join() is an inbuilt string function in Python used to join elements of the sequence separated by a string separator. This function joins elements of a sequence and makes it a string.

Làm thế nào để bạn in nhiều danh sách trong Python?

In danh sách trong Python có thể được thực hiện theo các cách sau: Sử dụng cho Loop: Traverse từ 0 đến LEN (Danh sách) và in tất cả các yếu tố của danh sách từng người một bằng cách sử dụng một vòng lặp, đây là thông lệ tiêu chuẩn để thực hiện nó.Traverse from 0 to len(list) and print all elements of the list one by one using a for loop, this is the standard practice of doing it.