栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python学习笔记(13)数据结构

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python学习笔记(13)数据结构

文章目录
    • 简介
    • 将列表当做堆栈使用
    • 将列表当作队列使用
    • 列表推导式
    • 嵌套列表解析
    • 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 deque

queue = 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))

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/864228.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号