2013-07-20 55 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 

我必須預先填寫阿雷/名單?

編輯:a是陣列空間的計數器/它應該去的地方。 arraycount是數組必須填充的數量。

回答

1

既然你看上去不那麼先進,有關使用一個簡單的for循環如何:

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

print my_array # Shows you the results 

我剛纔做的是Jon Clements在沒有使用Python的高級列表解析功能的情況下展示給你。這只是一個班輪在後臺做的事情。在學習使用Python做其他事情時,早期學習列表理解將非常有幫助。

要迭代,你可以這樣做:

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

這是否把它全部放在一個數組空間或mutipule?因爲我需要一個接一個給他們打電話。 – 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

@喬恩 - 克萊門茨有沒有辦法來過濾輸入字符串(如在拒絕一些基於字符串的標準)在同一行? – thekindlyone