2015-10-09 15 views
5

(Birisi daha iyi bir başlık önerebilirse, devam edin ve düzenleyin).Sabit uzunlukta bir Python listesini değişken karakter sayısına göre genişletme?

olan tam uzunlukta bilinmeyen bir listLIST1 Verilen ancak kendileri için her zaman 5'e eşit veya daha az olacak bilinir, ben sabit uzunlukta 5 ayrı boş listlist2 doldurmak için arıyorum, Liste1 değerlerle, boş dizeleri ile doldurma list2 boyutu az 5.

örn ise list1 = [1,2,3]

sonra Listesi 2 [1,2,3 '' '']

ve böylece kadar olmalıdır.

Yani:

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

(birçok boş dizeleri nasıl ekleneceğini belirleyen) Bunu gerçekleştirmenin etkileyicisi yolu nedir?

cevap

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

işaretler. – Pyderman

0

bir başka yolu: zarafet için

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, '?'] 
İlgili konular