如何在<list>中使用“for x”</list>

时间:2013-03-30 20:49:18

标签: list python-3.x

a = []
for index in range(52):
    a.append([])
    for jindex in range(52):
        a[index].append('a')

row,col = [int(x) for x in input().split(" ")]

b = []

for index in range(row):
    str = input()
    for jindex in range(col):
        a[index+1][jindex + 1] = str[jindex]
        if(str[jindex] == 'A'):
            b.append([index,jindex])

#print (a)
# print (b)

ans = max(trav(x[0],x[1]) for x in b

最后一行很麻烦, trav(r,c)是一个返回整数值的函数。

我只想问这个用法是否正确?我是python的新手。 我试图从row,col = [int(x) for x in input().split(" ")]

扩展这一行

我正在尝试存储函数trav为列表b中存储的2个项目的每个列表返回的最大值。

赞:如果列表b是[[10, 20], [2, 3]],并且假设func trav返回子列表中2个项目的总和。

然后第一个子列表给我们30,然后第二个给我们5.所以ans应该有一个值30

1 个答案:

答案 0 :(得分:2)

您应该能够在最后一行的最后添加缺少的右括号。 trav(x[0],x[1]) for x in b形成一个生成器表达式,为trav的每个元素生成b的值,然后max()迭代生成的序列并返回找到的最大值。< / p>