0

基本的に私がやりたいことは、次のようなユーザー入力に基づいてリストを作成するプログラムを用意することです。

a=input
b=input
c=input

list1=[a,b,c]

次に、次のようなリストのリストを作成したい list37 に到達するまで、もう一度実行します (list2 を形成します)。

listMASTER=[list1,list2,list3...list36]

私はこれを書きたくない:

a=input
b=input
c=input

listn=[a,b,c]

36 回なので、新しいリストを作成するたびに何度もループさせたいと思います。

4

5 に答える 5

1

ネストされたループを使用できます。

list_of_lists = [[input() for _ in range(3)] for _ in range(36)]

または、より便利に、たとえば csv 形式を使用して、ファイルからの入力も受け入れます。

a,b,c
d,f,g
...

対応コード:

import csv
import fileinput

list_of_lists = list(csv.reader(fileinput.input()))

使用法:

$ python make-list.py input.csv

または

$ echo a,b,c | python make-list.py
于 2013-06-08T23:44:04.253 に答える
0

少し複雑ですが、リスト内包表記で読みやすい

n = 36
prompt = 'Please enter for {}{}: '
all_inputs = [[input(prompt.format(char, num)) for char in 'abc'] 
               for num in range(n)]
print(all_inputs)

36 x 3 の入力プロンプトが表示されます。

Please enter for a0: 1
Please enter for b0: 2
Please enter for c0: 3
Please enter for a1: 4
Please enter for b1: 5
Please enter for c1: 6
...
[['1', '2', '3'], ['4', '5', '6'], ...]
于 2013-06-08T23:40:50.390 に答える
0
master = [[input(),input(),input()] for i in xrange(37)]
于 2013-06-08T23:42:30.757 に答える