我陷入了一个失败的简单循环练习,通过列表并获得错误“TypeError:'list'对象不可调用”。 我有三个列表,有n个记录。我想从同一行的所有列表中写出第一条记录,并希望对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
任何创业公司都会非常有帮助。
答案 0 :(得分: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
答案 1 :(得分:2)
>>> lst1 = ['1','2','4','5','3']
>>> lst2 = ['3','4','3','4','3']
>>> lst3 = ['0.52','0.91','0.18','0.42','0.21']
>>> a = zip(lst1, lst2, lst3)
>>> istring = ""
>>> for entry in a:
... istring += entry[0].rjust(11)
... istring += entry[1].rjust(11)
... istring += entry[2].rjust(11) + "\n"
...
>>> print istring
1 3 0.52
2 4 0.91
4 3 0.18
5 4 0.42
3 3 0.21
答案 2 :(得分: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