文章目录

  • 简介
  • 将列表当做堆栈使用
  • 将列表当作队列使用
  • 列表推导式
  • 嵌套列表解析
  • del 语句
  • 遍历技巧

简介

本章节将结合前面介绍的列表、元组等知识来讲解。

将列表当做堆栈使用

列表中有许多有用的方法,这也使得列表能够方便快捷地当做一个堆栈使用。堆栈的特点是先进后出,换句话说就是首先进栈的元素最后一个被释放。使用append方法能够将一个元素添加到栈顶。
具体案例如下所示:

dtcloud = [3, 4, 5]
print(dtcloud)
dtcloud.append(6)
dtcloud.append(7)
print(dtcloud)
print(dtcloud.pop())
print(dtcloud)
print(dtcloud.pop())
print(dtcloud)
print(dtcloud.pop())
print(dtcloud)
print(dtcloud.pop())
print(dtcloud)
print(dtcloud.pop())
print(dtcloud)

将列表当作队列使用

列表也能够当做队列使用,在队列最先加入的元素首先会被取出。但这样的效率不会很高。列表最后添加或者取出的元素速度很快,但是插入或者从头部取出的速度会相对较慢。
下面是代码实例:

from collections import dequequeue = deque(["dtcloud360", "zyf", "dtcloud"])
print(queue)
queue.append("亿智云")
queue.append("智慧企业")
print(queue.popleft())
print(queue.popleft())
print(queue)

列表推导式

创建列表的简单途径由列表推导式提供。一些操作通常由应用程序应用到序列的每个元素。获得的结果将会作为新列表的元素,或者是根据判定条件创建子序列。
每个列表推导式都会在for之后加上表达式,返回根据表达式而生成的一个列表。
如下所示:

dtcloud = [2, 4, 6]
print(dtcloud)
print([3*x for x in dtcloud])


也可以以这样的形式创建:

dtcloud = [2, 4, 6]
print(dtcloud)
print([[x, x**2] for x in dtcloud])

嵌套列表解析

在之前的文章中提到列表可以嵌套,本次实例展现一个34的矩阵列表,然后将之转换成43的格式。

dtcloud = [[1, 2, 3, 4],[5, 6, 7, 8],[9, 10, 11, 12],]
print(dtcloud)print([[row[i] for row in dtcloud] for i in range(4)])

del 语句

使用del 语句能够根据索引值删除列表中的某个元素,与前文介绍过的pop方法不同,可以从del语句删除一个切割或者清空列表。例如:

a = [-1, 1, 66.25, 333, 333, 1234.5]
del a[0]
print(a)


当然也可以用del删除整个列表

del a

遍历技巧

遍历字典的时候,关键字与对应的值可以使用item方法同时读出。
如下所示:

dtcloud = {'zyf': 'the company', 'dtcloud': 'the best'}
for c, p in dtcloud.items():print(c, p)


遍历序列的时候,索引位置和对应值可以使用 enumerate() 函数同时得到:

for i, v in enumerate(['dtcloud', '亿智云', 'zyf']):print(i, v


需要同时遍历多个序列的时候,需要用到zip:

questions = ['name', 'quest', 'favorite color']
answers = ['dtcloud', 'the holy grail', 'blue']
for q, a in zip(questions, answers):print('What is your {0}?  It is {1}.'.format(q, a))

python学习笔记(13)数据结构相关推荐

  1. Python学习笔记(数据结构)

    第五章 数据结构 1.列表 1.1 列表的基本用法 在 Python 中使用中括号 " [  ] " 来表示列表,并用逗号(英文输入格式)分隔其中的元素. book =['西游记' ...

  2. Python 学习笔记13 类 - 继承

    我们在编程的过程中,并非都是要重头开始.比如其他人已经有现成的类,我们可以使用其他找人编写的类.术语称之为: 继承. 当一个类继承例外一个类时,它可以获得这个类的所有属性和方法:原有的类称之为 父类, ...

  3. Python学习笔记(13)-Python类与对象示例

    点此查看 零基础Python全栈文章目录及源码下载 本文目录 1. 简介 2. Python类的定义 3. Python类的动态语言特性 4. Python类中属性的访问控制 1. 简介 Python ...

  4. python的基本数据结构_Python学习笔记——基本数据结构

    列表list List是python的一个内置动态数组对象,它的基本使用方式如下: shoplist = ['apple', 'mango', 'carrot', 'banana'] print 'I ...

  5. opencv进阶学习笔记13:图像形态学操作大全(膨胀,腐蚀,开闭,黑帽,顶帽,梯度)python版

    基础版学习笔记: python3+opencv学习笔记汇总目录(适合基础入门学习) 进阶版笔记目录链接: python+opencv进阶版学习笔记目录(适合有一定基础) 基础版形态学: opencv学 ...

  6. python的基本数据结构_python学习笔记-基本数据结构

    Python 学习笔记-1 写在最前面,因为组内小伙伴要走,生信团队由原来的7个人,慢慢的变的只有我一个人了,需要紧急突击下python,因为有python的流程要交接维护 python 基本情况 代 ...

  7. Python学习笔记:访问数据库

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  8. Python学习笔记:常用内建模块6 (urllib)

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  9. Python学习笔记19:列表 III

    Python学习笔记19:列表 III 其实这篇笔记标题应该是列表扩展,从列表开始,将涵盖Python中的序列容器. 关于列表的基础知识,可以看我的前两篇文章: Python学习笔记1:列表. Pyt ...

  10. Python学习笔记 day5

    Python学习笔记 day5 参考/引用资料: 1.file a.打开文件方式(读写两种方式) 缓冲 with语句 b.文件对象的操作方法 c.学习对excel及csv文件进行操作 读写excel ...

最新文章

  1. php laravel 环境搭建
  2. 运维基础--Linux用户和组的管理
  3. 操作系统安装必备基础知识----浅谈电脑系统里的那些UEFI, BIOS, MBR, GPT。
  4. vc++获取网页源码之使用import+接口方式
  5. [Leedcode][JAVA][第355题][设计推特][面向对象][哈希表][链表][优先队列]
  6. Python编程常见出错信息及原因分析(5):安装扩展库
  7. html中的声明的作用域,Html/CSS 作用域
  8. c++ windows下declspec
  9. 博弈论重要算法:Sprague-Grundy 定理 (SRM 561 Div1 550)
  10. echarts引入china报错(The GeoJSON of the map must be provided)
  11. 简述RAID 0,1,5,10区别
  12. 计算机网络第七版课后习题答案(第一章)(20210321)
  13. PDF转ONENOTE的方法
  14. 【跨境电商】WhatsApp营销保姆级教程!
  15. python职场应用英语作文_春考关于职场应用的英语作文
  16. java word转换pdf(先自定义添加水印 后转换pdf)通过 aspose-words
  17. 飞腾桌面腾锐D2000 核心板
  18. 解压rar/zip工具类
  19. 重要!我的公众号要改名了(一些感想...)
  20. Wireshark的作用

热门文章

  1. Python3 print pprint
  2. 神经网络入门(个人理解)
  3. 《人工智能本科专业知识体系与课程设置》笔记
  4. 数据、数据元素、数据项和数据对象
  5. linux 配置 ftp 服务器以及 ftp 客户端登录
  6. ASCII转十六进制小工具
  7. []==[]和[]==![]
  8. CLion: rsync is not installed or not avaiable in PATH on remote host
  9. 【hdu 1533】Going Home
  10. 关于一个学习计算机专业,迷茫的大一新生的看法和理解