1

リストを介して失敗した単純なループ演習で立ち往生し、「TypeError: 'list' object is not callable」というエラーが発生します。n 個のレコードを持つ 3 つのリストがあります。すべてのリストの最初のレコードを同じ行に書き込み、この手順を n 個のレコードに対して繰り返すと、n 個の行になります。使用したいリストは次のとおりです。

lst1 = ['1','2','4','5','3']
lst2 = ['3','4','3','4','3']
lst3 = ['0.52','0.91','0.18','0.42','0.21']

istring=""
lst=0
for i in range(0,10): # range is simply upper limit of number of records in lists
    entry = lst1(lst)
    istring = istring + entry.rjust(11) # first entry from each list will be cat here
    lst=lst+1

どんなスタートアップでも本当に役に立ちます。

4

3 に答える 3

3

これは、任意のサイズのリストで機能します。

for i in zip(lst1, lst2, lst3):
    for j in i:
        print j.rjust(11),
    print

          1           3        0.52
          2           4        0.91
          4           3        0.18
          5           4        0.42
          3           3        0.21
于 2013-07-10T01:30:39.857 に答える
1

entry = lst1[lst]代わりに試してくださいentry = lst1(lst)

() は通常、関数の呼び出しを示しますが、

[] は通常、何かの要素へのアクセスを示します。

リストは関数ではありません。

また、独自のインデックスを保持することもできますが、for ループを使用するとこれが不要になります。

x = [1,2,3,4,5,7,9,11,13,15]
y = [2,4,6,8,10,12,14,16,18,20]
z = [3,4,5,6,7,8,9,10,11,12]
for i in range(0,10):
   print x[i], y[i], z[i]

1 2 3
2 4 4
3 6 5
4 8 6
5 10 7
7 12 8
9 14 9
11 16 10
13 18 11
15 20 12
于 2013-07-10T01:21:07.367 に答える