文章目录
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])
弹出速度却不快(因为所有其他的元素都得一个一个地移动)。
方法一(使用insert
和remove
):
>>> 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 数据结构 | 菜鸟教程