Khóa học python

Join Tuples trong Python

0 phút đọc

Trong Python, có nhiều cách để kết hợp (join) các tuples lại với nhau. Dưới đây là một số phương pháp phổ biến:

Sử dụng toán tử +

Toán tử + là cách đơn giản và phổ biến nhất để kết hợp hai hoặc nhiều tuples.

tuple1 = ("a", "b", "c")
tuple2 = (1, 2, 3)
tuple3 = tuple1 + tuple2
print(tuple3)  # Output: ('a', 'b', 'c', 1, 2, 3)

Sử dụng hàm sum()

Hàm sum() có thể được sử dụng để kết hợp các tuples. Tuy nhiên, bạn cần cung cấp một tuple rỗng làm tham số khởi đầu.

tuple1 = (10, 20, 30)
tuple2 = ('one', 'two', 'three')
tuple3 = sum((tuple1, tuple2), ())
print(tuple3)  # Output: (10, 20, 30, 'one', 'two', 'three')

Sử dụng phương thức extend()

Phương thức extend() không thể được sử dụng trực tiếp trên tuples vì chúng là bất biến. Tuy nhiên, bạn có thể chuyển đổi tuples thành danh sách, sử dụng extend(), và sau đó chuyển đổi lại thành tuple.

tuple1 = (10, 20, 30)
tuple2 = ('one', 'two', 'three')
list1 = list(tuple1)
list2 = list(tuple2)
list1.extend(list2)
tuple3 = tuple(list1)
print(tuple3)  # Output: (10, 20, 30, 'one', 'two', 'three')

Sử dụng List Comprehension

List comprehension có thể được sử dụng để kết hợp các phần tử của nhiều tuples thành một tuple mới.

tuple1 = (10, 20, 30)
tuple2 = ('one', 'two', 'three')
tuple3 = tuple([x for t in (tuple1, tuple2) for x in t])
print(tuple3)  # Output: (10, 20, 30, 'one', 'two', 'three')

Sử dụng vòng lặp for

Bạn có thể sử dụng vòng lặp for để duyệt qua các phần tử của tuples và kết hợp chúng lại.

tuple1 = (10, 20, 30)
tuple2 = ('one', 'two', 'three')
result = ()
for item in tuple1:
    result += (item,)
for item in tuple2:
    result += (item,)
print(result)  # Output: (10, 20, 30, 'one', 'two', 'three')

Kết hợp Tuples trong danh sách các Tuples

Đôi khi, bạn có thể cần kết hợp các tuples trong một danh sách các tuples. Dưới đây là một số phương pháp để thực hiện điều này.

1. Sử dụng List Comprehension

test_list = [([1, 2, 3], 'gfg'), ([5, 4, 3], 'cs')]
res = [(tup1, tup2) for i, tup2 in test_list for tup1 in i]
print(res)  # Output: [(1, 'gfg'), (2, 'gfg'), (3, 'gfg'), (5, 'cs'), (4, 'cs'), (3, 'cs')]

2. Sử dụng vòng lặp lồng nhau

test_list = [([1, 2, 3], 'gfg'), ([5, 4, 3], 'cs')]
res = []
for i, tup2 in test_list:
    for tup1 in i:
        res.append((tup1, tup2))
print(res)  # Output: [(1, 'gfg'), (2, 'gfg'), (3, 'gfg'), (5, 'cs'), (4, 'cs'), (3, 'cs')]

Kết hợp Tuples với các phần tử khác

1. Kết hợp các phần tử của tuple thành một chuỗi với dấu phân cách

Bạn có thể sử dụng phương thức join() để kết hợp các phần tử của một tuple thành một chuỗi với dấu phân cách.

test_tup = ("Gfg", "is", 4, "Best")
delim = "-"
res = delim.join(str(ele) for ele in test_tup)
print(res)  # Output: Gfg-is-4-Best

2. Kết hợp các phần tử của tuple thành số nguyên

Bạn có thể kết hợp các phần tử của một tuple thành số nguyên bằng cách sử dụng các hàm map(), join(), và int().

test_list = [(4, 5), (5, 6), (1, 3), (6, 9)]
res = [int(''.join(map(str, idx))) for idx in test_list]
print(res)  # Output: [45, 56, 13, 69]

Kết luận

Tuples là một cấu trúc dữ liệu mạnh mẽ và hữu ích trong Python, đặc biệt khi bạn cần lưu trữ các nhóm dữ liệu không thay đổi. Việc hiểu và sử dụng các phương pháp để kết hợp các tuples sẽ giúp bạn làm việc hiệu quả hơn với loại dữ liệu này. Hy vọng bài viết này đã cung cấp cho bạn một cái nhìn tổng quan và chi tiết về cách kết hợp các tuples trong Python.

Avatar
Được viết bởi

TechMely Team

Gợi ý câu hỏi phỏng vấn

entry

Liệt kê các kiểu dữ liệu trong Python?

entry

Biến cục bộbiến toàn cục trong Python là gì?

entry

Trong Python có những built-in types nào?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào

Khoá học javascript từ cơ bản đến chuyên sâuYoutube Techmely