2016-08-23 2 views
0

Я новичок в Python и у меня есть проблемаПростое создание списка

У меня есть слово, и я хочу в ответ список вроде этого: outlist = [ "word1, WORD2, word3, ЕСС ... .] это то, что я пробовал:.?

numberlist=list(range(1,1000)) 
numberlist=(','.join("'{0}'".format(x) for x in numberlist)) 

list=["word" + number for number in numberlist] 
for elem in sq: 
     print (elem) 

у меня есть список в ответ, но его не так, я не могу найти способ, чтобы получить то, что я хочу Где ошибка спасибо за помощь

+1

Изменить строку 2 на 'numberlist = map (str, numberlist)'. –

+1

Откуда берется эта переменная 'sq'? –

+1

Не рекомендуется звонить в ваш список 'list'. – khelwood

ответ

4

Ваше использование join ошибочно. Самое простое решение будет:

print ["word" + str(i) for i in range(1, 1000)] 

Это дает:

In [4]: ["word" + str(k) for k in range(5)] 
Out[4]: ['word0', 'word1', 'word2', 'word3', 'word4'] 

join используется для возврата строки, которая представляет конкатенацию нескольких строк в итераторе, так что в этом случае вы можете использовать его для возвратить строку, соединенную запятой:

In [5]: ','.join(["word" + str(k) for k in range(5)]) 
Out[5]: 'word0,word1,word2,word3,word4' 
+1

Ой, спасибо, спасибо! Python так красив! Одна линия и все сделано! – Gulliver

+0

ха-ха, да :) не забудьте принять ответ, если это помогло: D –

Смежные вопросы