小编Geo*_*Eki的帖子

从另一个词典列表中减去词典列表中的值

我有两个词典列表.

foo = [{'Tom': 8.2}, {'Bob': 16.7}, {'Mike': 11.6}]
bar = [{'Tom': 4.2}, {'Bob': 6.7}, {'Mike': 10.2}]
Run Code Online (Sandbox Code Playgroud)

应该在foo中更新a和b的减法:

foo = [{'Tom': 4.0}, {'Bob': 10.0}, {'Mike': 1.4}]
Run Code Online (Sandbox Code Playgroud)

现在我尝试了两个循环和zip-function:

def sub(a,b):       
    for mydict,mydictcorr in zip(a,b):
        {k:[x-y for x, y in mydict[k], mydictcorr[k]] for k in mydict}
    return mydict
print sub(foo,bar)
Run Code Online (Sandbox Code Playgroud)

我得到了TypeError: 'float' object is not iterable.哪里是我的错?

python dictionary loops python-2.7

5
推荐指数
1
解决办法
552
查看次数

将带有时间戳+消息的行写入文件

我想创建一个日志文件,每次发生错误时都会在文本文件 log.txt 中添加一个新行。我对 python 很陌生,所以也许我错过了一些东西......但是每次发生错误时,log.txt 都会被覆盖,并且只显示当前的错误消息,尽管错误消息每次都不同(由于时间戳)并且我添加了\n。

到目前为止,这是我的代码:

导入操作系统
导入系统
导入时间
导入日期时间

尝试: 路径 = sys.argv[1]

ts = time.time() sttime = datetime.datetime.fromtimestamp(ts).strftime('%Y%m%d_%H:%M:%S - ') #some more things but nothing else of interest for here except: error = "ERROR! No file 'bla' found!" log = 'log.txt' logfile = file(log, "w") logfile.write(sttime + error + '\n') logfile.close() sys.exit(0)
Run Code Online (Sandbox Code Playgroud)

也许你可以帮我一下。我需要在某处循环吗?我尝试创建一个空字符串(error = ""),每次发生错误时都会使用 += 将错误消息添加到 log.txt 中,但这根本不起作用:-/

谢谢你!

python python-2.7

1
推荐指数
1
解决办法
2万
查看次数

标签 统计

python ×2

python-2.7 ×2

dictionary ×1

loops ×1