2013-07-20 3 views
0

Я стараюсь, чтобы заполнить массив/список из raw_input, но это не будет работать, я не могу думать по-другому, то это:массив заливка из raw_input

while a != arraycount: 
      x = str(raw_input('Please enter file %s to read from : '%(a))) 
      array1[a] = x 
      a += 1 

ли я предварительно заполнить Арай/список ?

EDIT: a - это счетчик для пространства массива/где он должен идти. arraycount - это количество массивов, которые необходимо заполнить.

ответ

1

Так как вы не выглядеть настолько совершенны, как об использовании простого цикла:

my_array = [] 
for i in xrange(number_of_times): 
    my_array.append(raw_input('Input: ')) 

print my_array # Shows you the results 

То, что я только что сделал это что Джон Клементс просто показал вам, не используя расширенные передовые методы Python. Это просто то, что делает один лайнер в фоновом режиме. На раннем этапе ознакомления с учебным списком будут очень полезны, когда вы научитесь делать другие вещи с помощью Python.

Для итерации, вы можете сделать это:

for var in my_array: 
    # do something with var, which is a member of my_array. 
+0

Означает ли это все это в одном пространстве или мутипуле? потому что мне нужно называть их один за другим. – FierceFuzion

+0

@FierceFuzion: Да. Он помещает их в один массив, называемый 'my_array', и если вы хотите перебирать их, вы просто выполняете цикл for. –

+0

Могу ли я назвать их такими? print (array1 [1, 2, 3, 4] и так далее? – FierceFuzion

2

Вы можете использовать список-Comp здесь:

a = [raw_input('Please enter: ') for blah in xrange(array_count)] 
+0

Спасибо, это правильно, как хорошо, но я не получил никаких идеального, как это работает ... – FierceFuzion

+0

@ Jon-Clements есть способ для фильтрации входных строк (как в случае отклонения некоторых, основанных на критериях строки) в одной строке? – thekindlyone

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