python中的读取列表
我的列表如下所示:python中的读取列表,python,list,Python,List,我的列表如下所示: vrt = [[1,3,3,8,5,4,2,1,5,6], [2,4,3,3,6,8,1,3,5,6], [4,5,6,4,7,4,3,6,4,7], [2,8,7,0,0,7,4,7,8,0], [2,3,4,7,0,8,7,6,3,8], [3,7,9,0,8,5,3,2,3,4], [1,5,7,7,6,4,2,3,5,6], [0,6,3,3,6,8,0,6,7,
vrt = [[1,3,3,8,5,4,2,1,5,6],
[2,4,3,3,6,8,1,3,5,6],
[4,5,6,4,7,4,3,6,4,7],
[2,8,7,0,0,7,4,7,8,0],
[2,3,4,7,0,8,7,6,3,8],
[3,7,9,0,8,5,3,2,3,4],
[1,5,7,7,6,4,2,3,5,6],
[0,6,3,3,6,8,0,6,7,7],
[0,1,3,2,8,0,0,0,0,0],
[3,1,0,3,6,7,0,5,3,1],
[1,3,5,7,0,8,6,5,3,1],
[3,6,3,1,3,5,8,7,5,1],
[4,3,6,0,0,8,4,7,5,3],
[3,5,6,8,6,3,1,3,5,2]]
我需要写一个函数来读取每一行,对每一行中的所有整数求和,并将每一行的结果作为新的列表返回,如果这个特定的列表结果是[38,41,50…42]
,那么只需对每个列表求和即可
到现在为止,我试着这样做
def po_vrstah(vrt):
s = []
line = vrt.read().split('\n')
vsota = sum(line)
s.append(vsota)
return s
所以我做了一些研究,显然那些读取和拆分的('\n'
)只能用于读取我认为是的文件
所以我的问题是,我如何使用类似的方法来解决这个问题?有没有一种方法可以像读取文件一样读取列表?更简单:
>>> print map(sum, vrt)
使用列表理解:
[sum(lst) for lst in vrt]
或者,如果您使用的是Python 2,也可以使用map()
:
map(sum, vrt)
正确的说法是,换行符上的拆分只对字符串有用(无论是从文件还是其他文件读取)。只需:
your_sum = [sum(i) for i in vrt]
试试这个:
[sum(x) for x in vrt]
这项工作:
def po_vrstah(vrt):
return [sum(line) for line in vrt] # this is a list comprehension
这会将vrt中的每个列表逐个分配给变量行。
然后,每个列表中的变量用sum()求和,结果按顺序追加到列表中。
要了解列表的理解,请看如此简单。。。我从来没有想到过。非常感谢你!是的,您是对的。
'\n'
是“换行符”,因此,例如print(“line1\nline2”)
会在第一行打印“line1”,在第二行打印“line2”。有时这是一种很好的分割弦的方法。