Python có một số phương pháp để nối các phần tử lại với nhau. Bạn có thể ghép một cái gì đó lại với nhau thông qua hàm print(), hoặc bạn có thể sử dụng hàm sum() cho các con số, hoặc bạn có thể tự tìm tòi sáng tạo ra một cách thức nào đó mà bạn cho rằng là hiệu quả.
Trong bài viết này, tôi sẽ đề cập đến cho bạn một phương pháp khác, đó chính là sử dụng hàm join()
Vậy hàm Join() trong Python là gì?
Hàm join() là hàm có khả năng lấy tất cả các mục trong một cấu trúc dữ liệu có thể lặp lại và nối chúng thành một chuỗi.
Nói một cách đơn giản, hàm join() sẽ nối mọi phần tử trong một chuỗi và trả về một chuỗi kết hợp. Điều này hiệu quả hơn nhiều (và dễ đọc hơn) so với việc sử dụng toán tử cộng và hữu ích hơn hàm print().
Cú pháp của hàm join() trông sẽ như thế này:
separator.join(iterable)
Separator là chuỗi được sử dụng để nối các phần tử và iterable là chuỗi các phần tử được nối với nhau. Một trong những điều tiện lợi khi sử dụng hàm join() đó là bạn có thể tự định nghĩa separator theo ý của mình. Bạn có thể sử dụng bất kỳ ký tự hoặc chuỗi ký tự nào làm dấu phân cách, tùy thuộc vào cách bạn muốn kết quả cuối cùng trông như thế nào hoặc bạn cần nó hoạt động như thế nào.
Ví dụ minh họa về cách sử dụng hàm Join()
Hãy cùng tìm hiểu chức năng tiện dụng này hoạt động như thế nào. Chúng ta sẽ bắt đầu bằng một ví dụ đơn giản nhé.
Giả sử bạn có một danh sách có thể lặp lại với các giá trị được lưu trữ sau: apple banana cherry
Danh sách đó trông như thế này:
['apple', 'banana', 'cherry']
Bây giờ, chúng ta hãy định nghĩa nó như thế này bằng hàm my_list:
my_list = ['apple', 'banana', 'cherry']
Nếu chúng ta muốn nối các phần tử đó lại với nhau, chúng ta sẽ sử dụng hàm join(). Nếu chúng ta muốn tách các phần tử đó bằng dấu phẩy, đoạn mã sẽ trông như thế này:
result = ', '.join(my_list)
Giải thích cho những điều trên:
- result: tên của biến mới của chúng ta
- ', ': đây là dấu phân cách, được tôi định nghĩa là dấu phẩy và dấu cách.
- .join(my_list): hướng dẫn Python nối các phần tử lặp lại từ trong my_list.
Chúng ta thêm một câu lệnh print như sau:
print(result)
Khi này toàn bộ đoạn mã sẽ như sau:
my_list = ['apple', 'banana', 'cherry']
result = ', '.join(my_list)
print(result)
Bạn tiến hành chạy đoạn mã trên, nó sẽ trả kết quả như sau: apple, banana, cherry
Chúng ta cũng có thể định nghĩa một nhóm các biến và kết thúc với cùng một kết quả. Đầu tiên, chúng ta sẽ định nghĩa các biến fruit như thế này:
fruit1 = apple
fruit2 = banana
fruit3 = cherry
Sau đó chúng ta sẽ sử dụng biến của mình để tạo một danh sách như thế này:
my_list = (fruit1, fruit2, fruit3)
Bây giờ chúng ta có thể định nghĩa một biến khác bằng cách áp dụng hàm join() như sau:
fruit = ', '.join(my_list)
In ra với:
print(fruit)
Khi này toàn bộ đoạn mã trông sẽ như sau:
fruit1 = "apple"
fruit2 = "banana"
fruit3 = "cherry" my_list = (fruit1, fruit2, fruit3) fruit = ', '.join(my_list) print(fruit)
Kết quả sẽ hiển thị:
apple, banana, cherry
Đầu vào của người dùng
Chúng ta hãy làm điều tương tự như ví dụ trên, nhưng lần này sẽ cho phép người dùng nhập tên các loại trái cây rồi sử dụng hàm join() để nối chúng lại với nhau.
Đầu tiên, hãy chấp nhận thông tin đầu vào của người dùng như thế này:
fruit1 = input("Type the name of a fruit: ")
fruit2 = input("Type the name of another fruit: ")
fruit3 = input("Type the name of yet another fruit: ")
Sau đó chúng ta xây dựng danh sách từ dữ liệu đầu vào như sau:
my_list = (fruit1, fruit2, fruit3)
Kết hợp các thành phần với:
fruit = ', '.join(my_list)
In danh sách với:
print(fruit)
Khi này toàn bộ đoạn mã trông sẽ như sau:
fruit1 = input("Type the name of a fruit: ")
fruit2 = input("Type the name of another fruit: ")
fruit3 = input("Type the name of yet another fruit: ") my_list = (fruit1, fruit2, fruit3) fruit = ', '.join(my_list) print(fruit)
Chạy mã và người dùng sẽ được yêu cầu (ba lần) nhập tên một loại trái cây và sau đó mã sẽ tạo danh sách từ dữ liệu đầu vào.
Xác định bộ Separator của bạn
Một cách thú vị khác mà chúng ta có thể sử dụng hàm join(), đó là thực hiện với bộ Separator. Bạn có thể định nghĩa chúng như thế này:
s = ", "
Khi sử dụng phương pháp này, câu lệnh liên kết mới của bạn sẽ trông giống như thế này:
s.join(my_list)
Bạn sẽ nhận được kết quả giống như trước.
Một mẹo nhỏ thú vị khác mà bạn có thể làm đó là lấy ra một chuỗi và tách nó ra bằng separator.
VD: Chúng ta hãy lấy biến sau đây:
name = "Jack Wallen"
Hãy sử dụng hàm join và tách từng ký tự bằng một khoảng trắng. Dòng mã đó sẽ trông như thế này:
str = ' '.join(name)
In ra với:
print(str)
Khi này toàn bộ đoạn mã trông sẽ như sau:
name = "Jack Wallen" str = ' '.join(name) print(str)
Chạy đoạn mã trên và kết quả sẽ là: Jack Wallen
Bạn có thể khéo léo hơn và định nghĩa separator trông như thế này:
name = "Jack Wallen"
s = " " str = s.join(name) print(str)
Kết quả đầu ra sẽ giống như trên: Jack Wallen
Bạn cũng có thể nối một chuỗi chỉ bằng hai dòng mã như thế này:
list1 = " new stack "
print(" ".join(list1))
Đầu ra vẫn sẽ là: Jack Wallen
Đó chính là tất cả những gì mà bạn cần biết về hàm join() trong Python, vô cùng dễ hiểu và đơn giản phải không nào?