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

 更新时间:2021年08月10日 08:30:19   作者:小妮浅浅  
在本篇文章里小编给大家整理的是一篇关于python切片中内存的注意事项总结内容,有需要的朋友们可以学习参考下。

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实现初始化不同的变量类型为空值

    Python实现初始化不同的变量类型为空值

    这篇文章主要介绍了Python实现初始化不同的变量类型为空值,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • django中只使用ModleForm的表单验证

    django中只使用ModleForm的表单验证

    这篇文章主要介绍了django中只使用ModleForm的表单验证的相关资料,需要的朋友可以参考下
    2022-12-12
  • Python实现类别变量的独热编码

    Python实现类别变量的独热编码

    这篇文章主要为大家详细介绍了基于Python下OneHotEncoder与pd.get_dummies两种方法,实现机器学习中最优的编码方法——独热编码的方法,需要的可以参考一下
    2023-02-02
  • 大语言模型的开发利器langchainan安装使用快速入门学习

    大语言模型的开发利器langchainan安装使用快速入门学习

    这篇文章主要为大家介绍了大语言模型的开发利器langchain安装使用快速入门学习,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • Python实现跨平台桌面应用程序开发的完整指南

    Python实现跨平台桌面应用程序开发的完整指南

    在当今软件开发领域,跨平台应用程序开发变得越来越重要,下面我们就来探讨使用Python进行跨平台桌面应用程序开发的主要框架,工具和最佳实践吧
    2025-04-04
  • python 列表,集合和字典的增删改查

    python 列表,集合和字典的增删改查

    这篇文章主要介绍了python 列表,集合和字典的增删改查,本文分别对他们一一说明,小编觉得这篇文章写的还不错,需要的朋友可以参考下,希望能够给你带来帮助
    2021-10-10
  • python高手之路python处理excel文件(方法汇总)

    python高手之路python处理excel文件(方法汇总)

    用python来自动生成excel数据文件。python处理excel文件主要是第三方模块库xlrd、xlwt、xluntils和pyExcelerator,除此之外,python处理excel还可以用win32com和openpyxl模块
    2016-01-01
  • python multiply()与dot使用示例讲解

    python multiply()与dot使用示例讲解

    这篇文章主要介绍了python multiply()与dot使用示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-12-12
  • Python+Tkinter实现软件自动更新与提醒

    Python+Tkinter实现软件自动更新与提醒

    这篇文章主要为大家详细介绍了Python如何利用Tkinter编写一个软件自动更新与提醒小程序,文中的示例代码简洁易懂,感兴趣的小伙伴可以动手尝试一下
    2023-07-07
  • Python中Numpy和Matplotlib的基本使用指南

    Python中Numpy和Matplotlib的基本使用指南

    numpy库处理的最基础数据类型是由同种元素构成的多维数组(ndarray),而matplotlib 是提供数据绘图功能的第三方库,其pyplot子库主要用于实现各种数据展示图形的绘制,这篇文章主要给大家介绍了关于Python中Numpy和Matplotlib的基本使用指南,需要的朋友可以参考下
    2021-11-11

最新评论