在Python3中的数组列表末尾添加数量

在Python3中的数组列表末尾添加数量,python,arrays,python-3.x,Python,Arrays,Python 3.x,我有一个数组表,每个数组都包含日志,每个数组上的最后一个索引都有一个美元金额(0.01)。我需要对数组进行切片,然后对每个数组进行循环,将数量相加,输出一个总数 我一点也不知道怎么做 当我打印日志时,这是它输出以供参考的内容 @ 2014 2 14 00:03:01 Matt "login" 0.01 @ 2014 2 14 02:06:12 Mary "login" 0.01 @ 2014 2 14 07:12:05 Mary "cd ~/cs150/projects" 0.01 @ 2014

我有一个数组表,每个数组都包含日志,每个数组上的最后一个索引都有一个美元金额(0.01)。我需要对数组进行切片,然后对每个数组进行循环,将数量相加,输出一个总数

我一点也不知道怎么做

当我打印日志时,这是它输出以供参考的内容

@ 2014 2 14 00:03:01 Matt "login" 0.01
@ 2014 2 14 02:06:12 Mary "login" 0.01
@ 2014 2 14 07:12:05 Mary "cd ~/cs150/projects" 0.01
@ 2014 2 13 12:33:52 Boris "firefox&" 0.13
@ 2014 2 14 12:33:52 Boris "load http://yahoo.com" 0.01
@ 2014 2 15 03:42:27 Natasha "exit" 0.00
我计划在表中循环,切片数组以检索最后一个片段,将其添加到变量中,然后打印总数


谢谢你的帮助,我是新来的,已经在这上面呆了一段时间了

假设行位于文本文件中:

total=0.0
for line in open('filename'):
    total+=decimal(line.strip().split()[-1])

print total

如果您认为美元金额始终表示为静态3位数浮动,则只需使用以下方法继续您的计划:

string.split()
要使用空格作为分隔符拆分字符串和/或:

dollars = float(string[-3:])
要获取美元的浮动金额:)

希望有帮助! 干杯
Alex

假设数据是列表列表,如下所示:

data = [['@', '2014', '2', '14', '00:03:01', 'Matt', '"login"', '0.01'],
['@', '2014', '2', '14', '02:06:12', 'Mary', '"login"', '0.01'],
['@', '2014', '2', '14', '07:12:05', 'Mary', '"cd ~/cs150/projects"', '0.01'],
['@', '2014', '2', '13', '12:33:52', 'Boris', '"firefox&"', '0.13'],
['@', '2014', '2', '14', '12:33:52', 'Boris', '"load http://yahoo.com"', '0.01'],
['@', '2014', '2', '15', '03:42:27', 'Natasha', '"exit"', '0.00']]
您可以通过以下方式获得总数:

total = sum([Decimal(item[7]) for item in data])
如果数据在一个文件中,您可以读取该文件并在计算<代码>总计<代码>之前如上所述构造<代码>数据,具体操作如下:

import csv
data = []
with open('datafile', 'rb') as csvfile:
    csv_reader = csv.reader(csvfile, delimiter=' ')
    for row in csv_reader:
        data.append(row)

你为什么不按计划做呢?
sum
已经是一个函数了。所以你可以在open('data.txt')中对l进行
sum([float(l.split()[-1]))
更正了答案。用float来赚钱是个坏主意。考虑改变你的答案,使用<代码>十进制< /代码>。