主页 > 知识库 > python切片中内存的注意事项总结

python切片中内存的注意事项总结

热门标签:旅游厕所地图标注怎么弄 百应电话机器人总部 宿州电话机器人哪家好 地图标注与注销 电梯新时达系统外呼显示e 无锡智能外呼系统好用吗 西青语音电销机器人哪家好 成都呼叫中心外呼系统哪家强 南昌地图标注

1、由于 Python 列表的切片会在内存中创建新对象,因此需要注意的另一个重要函数是itertools.islice。

2、通常需要遍历切片,而不仅仅是在内存中静态创建它。islice非常适合这个。

一个警告,它不支持负的参数start,stop或者step,如果这是一个问题,您可能需要计算指标或反向迭代提前。

length = 100
last_nine_iter = itertools.islice(list(range(length)), length-9, None, 1)
list_last_nine = list(last_nine_iter)

现在:

>>> list_last_nine
[91, 92, 93, 94, 95, 96, 97, 98, 99]

列表切片制作副本的事实是列表本身的一个特征。如果您对 Pandas DataFrame 等高级对象进行切片,它可能会返回原始视图,而不是副本。

内容扩展:

语法:

nuList[start:end:direction]
start -->起始下标(direction = 1时,默认是0;direction = -1时默认是-1)
start -->结束下标(direction = 1时,默认是len(nuList)-1;direction = -1时默认是-(len(nuList)-1))
direction --> 默认是1,切片方向从左往右;-1时,切片方向从右往左

1.只包含左边的端数据,不包含右边的端数据

print(nuList[1:3])

结果是:[1,2]

2.按照不同的方向返回元素

print(nuList[::])

结果是:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

print(nuList[::-1])

结果是:[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

3.严格按照方向顺序截取

print(nuList[3:1]) #从左往右,下标3开始切,但是无法找到下标1

print(nuList[-1:-3]) #从左往右,下标-1开始切,但是无法找到下标-3

print(nuList[-3:-1:-1]) #从右往左,下标-3开始切,但是无法找到下标-1

结果都为:[]

print(nuList[1:-1]) #从左往右,下标1开始切,能找到-1下标

结果:[1, 2, 3, 4, 5, 6, 7, 8]

print(nuList[-1:1:-1]) #从右往左,下标-1开始切,能找到1下标

结果:[9, 8, 7, 6, 5, 4, 3, 2]

到此这篇关于python切片中内存的注意事项总结的文章就介绍到这了,更多相关python切片中内存的注意事项内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
  • python数据分析之DataFrame内存优化
  • 用python监控服务器的cpu,磁盘空间,内存,超过邮件报警
  • 总结python 三种常见的内存泄漏场景
  • Python numpy大矩阵运算内存不足如何解决
  • Python内存泄漏和内存溢出的解决方案
  • Python中的内存管理之python list内存使用详解

标签:七台河 许昌 渭南 雅安 辛集 潍坊 赣州 西安

巨人网络通讯声明:本文标题《python切片中内存的注意事项总结》,本文关键词  python,切,片中,内存,的,注意事项,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《python切片中内存的注意事项总结》相关的同类信息!
  • 本页收集关于python切片中内存的注意事项总结的相关信息资讯供网民参考!
  • 推荐文章