Python中, 将列表缓存与不缓存, 是否有异同( 比如性能上 )?

2017/1/5

描述

详见代码

  • 第一种可能有很大性能损失? ( 也许Python的特性不同呢 )

相关代码

  • 缓存列表与不缓存列表

def get_huge_list():
    return a_huge_list

# 1
[item 
  for item in get_huge_list()
  if isinstance(item, (str, ))]


# 2   在 C++ 中, 教材常教导我们要这样写
huge_list = get_huge_list()
[item 
  for itme in huge_list
  if isinstance(item, (str, ))]

上下文环境

  • 产品版本: Python 2.7

  • 操作系统: Linux

阅读 3.3k
2 个回答

缓存:huge_list占用的内存并不大 并且它的值是固定保持不变的
不缓存: 内存大,值会变化

担心性能问题,那就用generator

推荐问题