1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Python3数据结构总结(列表list 元组tuple 集合set 字典dict 堆栈stack 队列queue和遍历技巧)

Python3数据结构总结(列表list 元组tuple 集合set 字典dict 堆栈stack 队列queue和遍历技巧)

时间:2018-09-19 13:17:22

相关推荐

Python3数据结构总结(列表list 元组tuple 集合set 字典dict 堆栈stack 队列queue和遍历技巧)

文章目录

6种标准数据类型(列表,元组,集合,字典)的对比和初始化列表增删改查等常用操作的方法总结列表当做堆栈stack使用列表当做队列queue使用序列(字符串+列表+字典)的遍历技巧字符串的遍历`for ii,ch in enumerate(string)`列表的遍历`for index,value in enumerate(list)`字典的遍历`for key,value in dict.items()`多个序列的遍历`for element_a,element_b in zip(sequence_a,sequence_b)`

6种标准数据类型(列表,元组,集合,字典)的对比和初始化

Python3 中有六个标准的数据类型:

Number(数字)String(字符串)List(列表)Tuple(元组)Set(集合)Dictionary(字典)

6种数据类型对比

4种数据结构的初始化

>>> a = []# list>>> b = ()# tuple>>> c = set()# set>>> d = {}# dict

列表增删改查等常用操作的方法总结

列表当做堆栈stack使用

append()方法可以把一个元素添加到堆栈顶。

用不指定索引的pop()方法可以把一个元素从堆栈顶释放出来。

>>> stack = [3, 4, 5]>>> stack.append(6)>>> stack[3, 4, 5, 6]>>> stack.pop()6>>> stack[3, 4, 5]

列表当做队列queue使用

在列表的最后添加或者弹出元素速度快,然而在列表里插入list.insert(0,x)或者从头部list.remove(list[0])弹出速度却不快(因为所有其他的元素都得一个一个地移动)。

方法一(使用insertremove

>>> list = [0,1,2,3]# 指定位置插入>>> list.insert(0,-1)>>> list[-1, 0, 1, 2, 3]# 删除指定值>>> list.remove(list[0])>>> list[0, 1, 2, 3]

方法二(import deque

核心是appendleft()popleft()这两个函数。

>>> from collections import deque>>> queue = deque([0,1,2,3])# 在左侧操作>>> queue.appendleft(-1)>>> queuedeque([-1, 0, 1, 2, 3])>>> queue.popleft()-1>>> queuedeque([0, 1, 2, 3])# 在右侧操作>>> queue.append(4)>>> queuedeque([0, 1, 2, 3, 4])>>> queue.pop()4>>> queuedeque([0, 1, 2, 3])

序列(字符串+列表+字典)的遍历技巧

在序列中遍历时,索引位置和对应值可以使用enumerate()函数同时得到,基本用法是

for index,value in enumerate(sequence):print(index,value)

字符串的遍历for ii,ch in enumerate(string)

>>> string = 'liukai'>>> for ii,ch in enumerate(string):...print(ii,ch)...0 l1 i2 u3 k4 a5 i

列表的遍历for index,value in enumerate(list)

>>> for i, v in enumerate(['tic', 'tac', 'toe']):...print(i, v)...0 tic1 tac2 toe# 按照顺序遍历>>> for v in sorted(['tic', 'tac', 'toe']):...print(v)...tactictoe

字典的遍历for key,value in dict.items()

>>> phone_num = {'liukai':188,'xumengsi':183}>>> for key,value in phone_num.items():...print(key,value)... liukai 188xumengsi 183

多个序列的遍历for element_a,element_b in zip(sequence_a,sequence_b)

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

参考文献

Python3 基本数据类型 | 菜鸟教程Python3 数据结构 | 菜鸟教程

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。