2011-12-17 39 views
23

Tôi muốn tạo chuỗi từ danh sách.Chuỗi concat Python có danh sách

tôi đã sử dụng String.Join() lệnh, nhưng nếu tôi có:

['hello', 'good', 'morning'] 

tôi nhận được: hellogoodmorning

Có một phương pháp cho phép tôi để đặt một khoảng cách giữa mỗi từ? (mà không cần phải viết vòng lặp for)

kính thư.

+3

Tại sao không hiển thị chính xác cách bạn "sử dụng lệnh string.join()"? –

Trả lời

41

Tất cả những gì bạn cần làm là thêm không gian trước khi tham gia.

' '.join(list) 
13
>>> ' '.join(['hello', 'good', 'morning']) 
'hello good morning' 

Cách tiêu chuẩn và tốt nhất để tham gia danh sách chuỗi. Tôi không thể nghĩ ra điều gì tốt hơn cái này.

3
>>> " ".join(['hello', "good", "morning"]) 
'hello good morning' 

hoặc bạn có thể sử dụng một không gian đơn làm dấu phân cách mặc định.

>>> help(string.join) 
Help on function join in module string: 

join(words, sep=' ') 
    join(list [,sep]) -> string 

    Return a string composed of the words in list, with 
    intervening occurrences of sep. The default separator is a 
    single space. 

dụ:

>>> import string 
>>> string.join(['hello', "good", "morning"]) 
'hello good morning' 
4

này làm những gì bạn muốn:

" ".join(['hello', 'good', 'morning']) 

Nói chung, khi bạn đang gọi join() trên một số chuỗi bạn sử dụng " " để xác định các dấu phân cách giữa các yếu tố danh sách .

4

' '.join(...) là cách dễ nhất như những người khác đã đề cập. Và trên thực tế nó là cách ưa thích để làm điều này trong mọi trường hợp (ngay cả khi bạn đang tham gia không có đệm, chỉ cần sử dụng ''.join(...)).

Mặc dù nó vẫn có một số chức năng hữu ích ... hầu hết các chức năng của mô-đun string đã được thực hiện bằng phương pháp trên loại/đối tượng str.

Bạn có thể tìm danh sách đầy đủ các chức năng chuỗi không được chấp nhận (bao gồm join) trong phần Deprecated string functions của tài liệu python.

Các vấn đề liên quan