Phương thức chuỗi
string.join[iterable]5 trả về một chuỗi bằng cách tham gia tất cả các phần tử của một điều không thể điều chỉnh được [danh sách, chuỗi, tuple], được phân tách bởi dấu phân cách đã cho.
Thí dụ
text = ['Python', 'is', 'a', 'fun', 'programming', 'language']
# join elements of text with space
print[' '.join[text]]
# Output: Python is a fun programming language
Cú pháp của chuỗi tham gia []
Cú pháp của phương thức
string.join[iterable]5 là:
string.join[iterable]
tham gia [] tham số
Phương thức
string.join[iterable]5 lấy một số khác [các đối tượng có khả năng trả lại các thành viên của mình một lần] làm tham số của nó.
Một số ví dụ về Iterables là:
- Các loại dữ liệu gốc - Danh sách, Tuple, Chuỗi, Từ điển và Set.
- Đối tượng tệp và đối tượng bạn xác định bằng phương thức
string.join[iterable]
8 hoặcstring.join[iterable]
9.
Lưu ý: Phương pháp string.join[iterable]
5 cung cấp một cách linh hoạt để tạo các chuỗi từ các đối tượng có thể. Nó tham gia vào từng phần tử của một ITBER [như danh sách, chuỗi và tuple] bằng một dấu phân cách chuỗi [chuỗi mà phương thức string.join[iterable]
5 được gọi] và trả về chuỗi được nối.: The
string.join[iterable]5 method provides a flexible way to create strings from iterable objects. It joins each element of an iterable [such as list, string, and tuple] by a string separator [the string on which the
string.join[iterable]5 method is called] and returns the concatenated string.
Trả về giá trị từ tham gia []
Phương thức
string.join[iterable]5 trả về một chuỗi được tạo bằng cách nối các phần tử của một phân tách chuỗi đã cho.
Nếu có thể xác định được bất kỳ giá trị không chuỗi nào, nó sẽ tăng ngoại lệ
# .join[] with lists
numList = ['1', '2', '3', '4']
separator = ', '
print[separator.join[numList]]
# .join[] with tuples
numTuple = ['1', '2', '3', '4']
print[separator.join[numTuple]]
s1 = 'abc'
s2 = '123'
# each element of s2 is separated by s1
# '1'+ 'abc'+ '2'+ 'abc'+ '3'
print['s1.join[s2]:', s1.join[s2]]
# each element of s1 is separated by s2
# 'a'+ '123'+ 'b'+ '123'+ 'b'
print['s2.join[s1]:', s2.join[s1]]
3.Ví dụ 1: Hoạt động của phương thức tham gia []
# .join[] with lists
numList = ['1', '2', '3', '4']
separator = ', '
print[separator.join[numList]]
# .join[] with tuples
numTuple = ['1', '2', '3', '4']
print[separator.join[numTuple]]
s1 = 'abc'
s2 = '123'
# each element of s2 is separated by s1
# '1'+ 'abc'+ '2'+ 'abc'+ '3'
print['s1.join[s2]:', s1.join[s2]]
# each element of s1 is separated by s2
# 'a'+ '123'+ 'b'+ '123'+ 'b'
print['s2.join[s1]:', s2.join[s1]]
Đầu ra
1, 2, 3, 4 1, 2, 3, 4 s1.join[s2]: 1abc2abc3 s2.join[s1]: a123b123c
Ví dụ 2: Phương thức tham gia [] với các bộ
# .join[] with sets
test = {'2', '1', '3'}
s = ', '
print[s.join[test]]
test = {'Python', 'Java', 'Ruby'}
s = '->->'
print[s.join[test]]
Đầu ra
2, 3, 1 Python->->Ruby->->Java
Ví dụ 2: Phương thức tham gia [] với các bộ A set is an unordered collection of items, so you may get different output [order is random].
Lưu ý: Một bộ là một bộ sưu tập các mục không có thứ tự, vì vậy bạn có thể nhận được đầu ra khác nhau [thứ tự là ngẫu nhiên].
# .join[] with dictionaries
test = {'mat': 1, 'that': 2}
s = '->'
# joins the keys only
print[s.join[test]]
test = {1: 'mat', 2: 'that'}
s = ', '
# this gives error since key isn't string
print[s.join[test]]
Đầu ra
Ví dụ 2: Phương thức tham gia [] với các bộLưu ý: Một bộ là một bộ sưu tập các mục không có thứ tự, vì vậy bạn có thể nhận được đầu ra khác nhau [thứ tự là ngẫu nhiên].
Ví dụ 3: Phương thức tham gia [] với từ điển: If the key of the string is not a string, it raises the
# .join[] with lists
numList = ['1', '2', '3', '4']
separator = ', '
print[separator.join[numList]]
# .join[] with tuples
numTuple = ['1', '2', '3', '4']
print[separator.join[numTuple]]
s1 = 'abc'
s2 = '123'
# each element of s2 is separated by s1
# '1'+ 'abc'+ '2'+ 'abc'+ '3'
print['s1.join[s2]:', s1.join[s2]]
# each element of s1 is separated by s2
# 'a'+ '123'+ 'b'+ '123'+ 'b'
print['s2.join[s1]:', s2.join[s1]]
3 exception. 324
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.
Trong Python, tôi có thể làm:
>>> list = ['a', 'b', 'c']
>>> ', '.join[list]
'a, b, c'
Có cách nào dễ dàng để làm điều tương tự khi tôi có một danh sách các đối tượng không?
>>> class Obj:
... def __str__[self]:
... return 'name'
...
>>> list = [Obj[], Obj[], Obj[]]
>>> ', '.join[list]
Traceback [most recent call last]:
File "", line 1, in
TypeError: sequence item 0: expected string, instance found
Hay tôi phải dùng đến một vòng lặp?
hỏi ngày 31 tháng 1 năm 2009 lúc 0:06Jan 31, 2009 at 0:06
Thay vào đó, bạn có thể sử dụng danh sách hiểu hoặc biểu thức máy phát: thay vào đó:
string.join[iterable]0
Đã trả lời ngày 31 tháng 1 năm 2009 lúc 0:10Jan 31, 2009 at 0:10
Adam Rosenfieldadam RosenfieldAdam Rosenfield
380K96 Huy hiệu vàng508 Huy hiệu bạc585 Huy hiệu Đồng96 gold badges508 silver badges585 bronze badges
6
Trình xây dựng chuỗi tích hợp sẽ tự động gọi
# .join[] with lists
numList = ['1', '2', '3', '4']
separator = ', '
print[separator.join[numList]]
# .join[] with tuples
numTuple = ['1', '2', '3', '4']
print[separator.join[numTuple]]
s1 = 'abc'
s2 = '123'
# each element of s2 is separated by s1
# '1'+ 'abc'+ '2'+ 'abc'+ '3'
print['s1.join[s2]:', s1.join[s2]]
# each element of s1 is separated by s2
# 'a'+ '123'+ 'b'+ '123'+ 'b'
print['s2.join[s1]:', s2.join[s1]]
6:string.join[iterable]1
Đã trả lời ngày 31 tháng 1 năm 2009 lúc 0:16Jan 31, 2009 at 0:16
Ngân hàng Kenan BankskenanKenan Banks
Huy hiệu vàng 202K3434 gold badges151 silver badges171 bronze badges
8
Tôi biết đây là một bài viết siêu cũ, nhưng tôi nghĩ những gì bị bỏ lỡ đang ghi đè
# .join[] with lists
numList = ['1', '2', '3', '4']
separator = ', '
print[separator.join[numList]]
# .join[] with tuples
numTuple = ['1', '2', '3', '4']
print[separator.join[numTuple]]
s1 = 'abc'
s2 = '123'
# each element of s2 is separated by s1
# '1'+ 'abc'+ '2'+ 'abc'+ '3'
print['s1.join[s2]:', s1.join[s2]]
# each element of s1 is separated by s2
# 'a'+ '123'+ 'b'+ '123'+ 'b'
print['s2.join[s1]:', s2.join[s1]]
7, do đó # .join[] with lists
numList = ['1', '2', '3', '4']
separator = ', '
print[separator.join[numList]]
# .join[] with tuples
numTuple = ['1', '2', '3', '4']
print[separator.join[numTuple]]
s1 = 'abc'
s2 = '123'
# each element of s2 is separated by s1
# '1'+ 'abc'+ '2'+ 'abc'+ '3'
print['s1.join[s2]:', s1.join[s2]]
# each element of s1 is separated by s2
# 'a'+ '123'+ 'b'+ '123'+ 'b'
print['s2.join[s1]:', s2.join[s1]]
8, đó là câu trả lời được chấp nhận của câu hỏi này được đánh dấu trùng lặp.Đã trả lời ngày 21 tháng 11 năm 2018 lúc 4:54Nov 21, 2018 at 4:54
NotanambiturnotanambiturnerNotAnAmbiTurner
2.2651 Huy hiệu vàng20 Huy hiệu bạc42 Huy hiệu đồng1 gold badge20 silver badges42 bronze badges
Một giải pháp khác là ghi đè toán tử tham gia của lớp STR.
Hãy để chúng tôi xác định một lớp mới My_String như sau
string.join[iterable]2
Sau đó, bạn có thể làm
string.join[iterable]3
Và bạn nhận được
string.join[iterable]4
BTW, bằng cách sử dụng danh sách làm tên biến, bạn đang xác định lại lớp danh sách [từ khóa]! Tốt nhất là sử dụng một tên định danh khác.list as variable name you are redefining the list class [keyword] ! Preferably use another identifier name.
Hy vọng bạn sẽ thấy câu trả lời của tôi hữu ích.
Đã trả lời ngày 15 tháng 8 năm 2018 lúc 11:41Aug 15, 2018 at 11:41
1