2015-10-09 14 views
5

(Nếu ai đó có thể đề xuất một tiêu đề tốt hơn, bằng mọi cách hãy tiếp tục và chỉnh sửa).Làm cách nào để mở rộng danh sách Python có độ dài cố định bằng số ký tự thay đổi?

Cho một listlist1 có chiều dài chính xác là chưa biết nhưng mà nó được biết sẽ luôn nhỏ hơn hoặc bằng 5, tôi đang tìm cách để cư một riêng biệt trống listList2, có độ dài cố định 5, với các giá trị trong list1, đệm bằng các chuỗi trống nếu kích thước của list2 nhỏ hơn 5.

ví dụ nếu list1 = [1,2,3]

thì danh sách 2 phải là [1,2,3, '', '']

v.v.

Vì vậy:

if len(list1) < 5: 
    list2.extend(list1) 
    # at this point, I want to add the empty strings, completing the list of size 5 

cách thú vị nhất của việc đạt được này (xác định có bao nhiêu chuỗi rỗng để thêm) là gì?

Trả lời

5
list2 = list1 + [''] * (5 - len(list1)) 
+1

dấu hàng đầu cho sự thanh lịch. – Pyderman

0

Một cách khác:

extend_list = lambda list, len=5, fill_with='': map(lambda e1, e2: e1 if e2 is None else e2, [fill_with]*len, list) 
print extend_list([1, 2, 3]) 
>>> [1, 2, 3, '', ''] 
print extend_list([1, 2], 3, '?') 
>>> [1, 2, '?'] 
Các vấn đề liên quan