Những gì sẽ là cách ưa thích của bạn để kết nối các chuỗi từ một chuỗi sao cho giữa hai cặp liên tiếp được thêm vào. Đó là, làm thế nào để bạn ánh xạ, ví dụ,
my_string = ','.join[map[str, my_list]]
6 đến my_string = ','.join[map[str, my_list]]
7? [Các trường hợp my_string = ','.join[map[str, my_list]]
8 và my_string = ','.join[map[str, my_list]]
9 nên được ánh xạ tới >>> foo = ['a', 'b', 'c']
>>> print[','.join[foo]]
a,b,c
>>> print[','.join[[]]]
>>> print[','.join[['a']]]
a
0 và >>> foo = ['a', 'b', 'c']
>>> print[','.join[foo]]
a,b,c
>>> print[','.join[[]]]
>>> print[','.join[['a']]]
a
1, tương ứng.]Tôi thường kết thúc bằng cách sử dụng một cái gì đó như
>>> foo = ['a', 'b', 'c']
>>> print[','.join[foo]]
a,b,c
>>> print[','.join[[]]]
>>> print[','.join[['a']]]
a
2, nhưng cũng cảm thấy hơi không hài lòng.
Georgy
11K7 Huy hiệu vàng62 Huy hiệu bạc68 Huy hiệu Đồng7 gold badges62 silver badges68 bronze badges
Hỏi ngày 4 tháng 9 năm 2008 lúc 21:04Sep 4, 2008 at 21:04
1
my_list = ['a', 'b', 'c', 'd']
my_string = ','.join[my_list]
'a,b,c,d'
Điều này sẽ không hoạt động nếu danh sách chứa số nguyên
Và nếu danh sách chứa các loại không chuỗi [như số nguyên, phao, bools, không có] thì hãy làm:
my_string = ','.join[map[str, my_list]]
Đã trả lời ngày 4 tháng 9 năm 2008 lúc 21:06Sep 4, 2008 at 21:06
Mark Biekmark BiekMark Biek
Phù bằng vàng 143K5454 gold badges155 silver badges200 bronze badges
4
Tại sao ma thuật ____ 33/________ 34? Điều này không hoạt động?
>>> foo = ['a', 'b', 'c']
>>> print[','.join[foo]]
a,b,c
>>> print[','.join[[]]]
>>> print[','.join[['a']]]
a
Trong trường hợp nếu có những con số trong danh sách, bạn có thể sử dụng danh sách hiểu:
>>> ','.join[[str[x] for x in foo]]
hoặc một biểu thức máy phát:
>>> ','.join[str[x] for x in foo]
Georgy
11K7 Huy hiệu vàng62 Huy hiệu bạc68 Huy hiệu Đồng7 gold badges62 silver badges68 bronze badges
Hỏi ngày 4 tháng 9 năm 2008 lúc 21:04Sep 4, 2008 at 21:08
jmanning2kjmanning2kjmanning2k
Điều này sẽ không hoạt động nếu danh sách chứa số nguyên4 gold badges30 silver badges23 bronze badges
0
Và nếu danh sách chứa các loại không chuỗi [như số nguyên, phao, bools, không có] thì hãy làm:
import StringIO
import csv
l = ['list','of','["""crazy"quotes"and\'',123,'other things']
line = StringIO.StringIO[]
writer = csv.writer[line]
writer.writerow[l]
csvcontent = line.getvalue[]
# 'list,of,"[""""""crazy""quotes""and\'",123,other things\r\n'
Đã trả lời ngày 4 tháng 9 năm 2008 lúc 21:06Feb 10, 2016 at 15:43
Mark Biekmark BiekRicky Sahu
Phù bằng vàng 143K544 gold badges40 silver badges32 bronze badges
2
Tại sao ma thuật ____ 33/________ 34? Điều này không hoạt động?
>>> alist = ['a', 1, [2, 'b']]
Trong trường hợp nếu có những con số trong danh sách, bạn có thể sử dụng danh sách hiểu:
>>> ", ".join[map[str, alist]] "a, 1, [2, 'b']"
hoặc một biểu thức máy phát:
>>> import io >>> s = io.StringIO[] >>> print[*alist, file=s, sep=', ', end=''] >>> s.getvalue[] "a, 1, [2, 'b']"
Đã trả lời ngày 4 tháng 9 năm 2008 lúc 21:08
9.1394 Huy hiệu vàng30 Huy hiệu bạc23 Huy hiệu ĐồngOct 1, 2008 at 9:23
>>> foo = ['a', 'b', 'c']
>>> print[','.join[foo]]
a,b,c
>>> print[','.join[[]]]
>>> print[','.join[['a']]]
a
5 sẽ không hoạt động cho tất cả các trường hợp. Tôi đề nghị sử dụng mô -đun CSV với StringiojfsĐã trả lời ngày 10 tháng 2 năm 2016 lúc 15:43183 gold badges949 silver badges1620 bronze badges
Ricky Sahuricky Sahu
22.3k4 Huy hiệu vàng40 Huy hiệu bạc32 Huy hiệu đồng
'a,b,c,d'
0Dưới đây là một giải pháp thay thế trong Python 3.0 cho phép các mục danh sách không chuỗi:Sep 5, 2008 at 16:29
một cách tiêu chuẩnAaron Maenpaa
Giải pháp thay thế11 gold badges94 silver badges108 bronze badges
2
Lưu ý: Không gian sau dấu phẩy là cố ý.
'a,b,c,d'
1Đã trả lời ngày 1 tháng 10 năm 2008 lúc 9:23
//docs.python.org/library/csv.html
JFSJFS
384K183 Huy hiệu vàng949 Huy hiệu bạc1620 Huy hiệu đồng9 gold badges40 silver badges62 bronze badges
@Peter HoffmannSep 4, 2008 at 21:09
Sử dụng các biểu thức của Generator có lợi ích cũng sản xuất một trình lặp nhưng tiết kiệm nhập itertools. Hơn nữa, các toàn bộ danh sách thường được ưu tiên để lập bản đồ, do đó, tôi hy vọng các biểu thức của máy phát sẽ được ưu tiên hơn IMAP.Douglas Leeder
Đã trả lời ngày 5 tháng 9 năm 2008 lúc 16:299 gold badges91 silver badges136 bronze badges
'a,b,c,d'
2Aaron Maenpaaaaron Maenpaa
Huy hiệu vàng 116K1194 Huy hiệu bạc108 Huy hiệu đồngMay 20, 2017 at 11:31
Bạn không chỉ muốn:Shameem
Rõ ràng sẽ phức tạp hơn nếu bạn cần trích dẫn/thoát khỏi dấu phẩy, vv trong các giá trị. Trong trường hợp đó, tôi sẽ đề nghị xem xét mô -đun CSV trong thư viện tiêu chuẩn:16 silver badges21 bronze badges
'a,b,c,d'
3
Twasbrillig
15.6K9 Huy hiệu vàng40 Huy hiệu bạc62 Huy hiệu Đồng10 gold badges59 silver badges89 bronze badges
Đã trả lời ngày 4 tháng 9 năm 2008 lúc 21:09Sep 15, 2008 at 18:08
1
Douglas Leederdouglas Leeder
'a,b,c,d'
451.2K9 Huy hiệu vàng91 Huy hiệu bạc136 Huy hiệu đồngSep 4, 2008 at 21:57
>>> foo = ['a', 'b', 'c']
>>> print[','.join[foo]]
a,b,c
>>> print[','.join[[]]]
>>> print[','.join[['a']]]
a
6 có thể chứa bất kỳ loại biến nào. Điều này tránh kết quả >>> foo = ['a', 'b', 'c']
>>> print[','.join[foo]]
a,b,c
>>> print[','.join[[]]]
>>> print[','.join[['a']]]
a
7.Peter HoffmannĐã trả lời ngày 20 tháng 5 năm 2017 lúc 11:3115 gold badges74 silver badges58 bronze badges
2
Shameemshameem
'a,b,c,d'
52.46816 huy hiệu bạc21 Huy hiệu đồng
'a,b,c,d'
6Alvaroav
'a,b,c,d'
79,95510 Huy hiệu vàng59 Huy hiệu bạc89 Huy hiệu ĐồngMay 15, 2017 at 11:25
2
Đã trả lời ngày 15 tháng 9 năm 2008 lúc 18:08
'a,b,c,d'
8@jmanning2k bằng cách sử dụng danh sách hiểu có nhược điểm là tạo một danh sách tạm thời mới. Giải pháp tốt hơn sẽ là sử dụng itertools.imap trả về một trình lặp lại
'a,b,c,d'
9Đã trả lời ngày 4 tháng 9 năm 2008 lúc 21:57Jun 26, 2020 at 16:53
faiz-efaiz-efaiz-e
Peter Hoffmannpeter Hoffmann3 silver badges21 bronze badges
54.2K15 Huy hiệu vàng74 Huy hiệu bạc58 Huy hiệu đồng
my_string = ','.join[map[str, my_list]]
0Đây là một ví dụ với danh sách
my_string = ','.join[map[str, my_list]]
1Chính xác hơn:-
Ví dụ 2:-Sep 4, 2008 at 21:10
Đã trả lời ngày 15 tháng 5 năm 2017 lúc 11:25David Singer
Nếu bạn muốn thực hiện lối tắt :]:1 gold badge10 silver badges11 bronze badges
Nhưng nếu bạn muốn thể hiện với logic :]:
Đã trả lời ngày 26 tháng 6 năm 2020 lúc 16:53
my_string = ','.join[map[str, my_list]]
21923 Huy hiệu bạc21 Huy hiệu đồng
Trừ khi tôi thiếu một cái gì đó,
>>> foo = ['a', 'b', 'c']
>>> print[','.join[foo]]
a,b,c
>>> print[','.join[[]]]
>>> print[','.join[['a']]]
a
8 nên làm những gì bạn yêu cầu.[Chỉnh sửa: Và như Jmanning2K chỉ ra,Jun 18, 2018 at 15:08
là an toàn hơn và khá pythonic, mặc dù chuỗi kết quả sẽ khó phân tích nếu các yếu tố có thể chứa dấu phẩy - tại thời điểm đó, bạn cần toàn bộ sức mạnh của mô -đun ____39, như Douglas chỉ ra trong câu trả lời của mình.]Ron Kalian
Đã trả lời ngày 4 tháng 9 năm 2008 lúc 21:102 gold badges14 silver badges22 bronze badges
1
Ca sĩ David Singerdavid
my_string = ','.join[map[str, my_list]]
31.1621 Huy hiệu vàng10 Huy hiệu bạc11 Huy hiệu đồng
Tôi muốn nói thư viện
>>> foo = ['a', 'b', 'c']
>>> print[','.join[foo]]
a,b,c
>>> print[','.join[[]]]
>>> print[','.join[['a']]]
a
9 là tùy chọn hợp lý duy nhất ở đây, vì nó được xây dựng để đối phó với tất cả các trường hợp sử dụng CSV như dấu phẩy trong một chuỗi, v.v.Nov 26, 2021 at 14:44
Để xuất danh sách
>>> ','.join[[str[x] for x in foo]]
1 vào tệp .csv:my_string = ','.join[map[str, my_list]]
4Cũng có thể sử dụng
>>> ','.join[[str[x] for x in foo]]
2 để xuất nhiều hàng vào CSV.my_string = ','.join[map[str, my_list]]
5Ví dụ này tương thích với Python 3, vì câu trả lời khác ở đây được sử dụng
>>> ','.join[[str[x] for x in foo]]
3 là Python 2.Đã trả lời ngày 7 tháng 1 năm 2018 lúc 13:56Jan 7, 2018 at 13:56
RobertorobertoRoberto
3746 Huy hiệu bạc9 Huy hiệu Đồng6 silver badges9 bronze badges
1