使用Python替换列表中的值

使用Python替换列表中的值,第1张

使用Python替换列表中的值

使用列表理解来构建新列表:

new_items = [x if x % 2 else None for x in items]

您可以根据需要修改原始列表,但实际上并不能节省时间

items = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]for index, item in enumerate(items):    if not (item % 2):        items[index] = None

以下是(Python 3.6.3)演示非节省时间的时间:

In [1]: %%timeit   ...: items = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]   ...: for index, item in enumerate(items):   ...:     if not (item % 2):   ...:         items[index] = None   ...:1.06 µs ± 33.7 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)In [2]: %%timeit   ...: items = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]   ...: new_items = [x if x % 2 else None for x in items]   ...:891 ns ± 13.6 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)

和Python 2.7.6计时

In [1]: %%timeit   ...: items = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]   ...: for index, item in enumerate(items):   ...:     if not (item % 2):   ...:         items[index] = None   ...: 1000000 loops, best of 3: 1.27 µs per loopIn [2]: %%timeit   ...: items = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]   ...: new_items = [x if x % 2 else None for x in items]   ...: 1000000 loops, best of 3: 1.14 µs per loop


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5646094.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存