一、元组
元组是写保护的,即元组创建后不能再做任何修改操作
创建空元组只需要一对空的圆括号,当创建一个唯一元素的元组需要在该元素后面添加一个逗号,使python能正确识别出元组中的元素
解包和打包:
创建元组的过程称之为"打包"
将元组中的各个元素分别赋值给多个变量的过程称之为"解包"
二、列表
List列表的元素包含在方括号中,列表创建后,可以执行添加、删除或修改和查找操作的,列表中可以存在重复元素
列表的添加可以调动append()方法
列表的删除可以调用remove()方法
list相关方法:
list.append()
list.insert()
list.remove()(没有返回值)
list.pop()(返回被弹出的元素)
列表实现了连接操作的功能,列表的连接提供了两种方式:
一种是调用extend()连接两个不同的列表
另一种是使用运算符"+",或"+="
函数名 | 作用 |
---|---|
list.append(x) | 将元素x追加到列表尾部 |
list.extend(L) | 将列表L中的所有元素追加到列表尾部形成新列表 |
list.insert(i,x) | 在列表中index为i的位置插入x元素 |
list.remove(x) | 将列表中第一个为x的元素移除。若不存在x将引发一个异常 |
list.pop(i) | 删除index为i的元素,并将删除的元素显示,若不指定i,则默认弹出最后一个元素 |
list.clear() | 清空列表 |
list.index(x) | 返回第一个x元素的位置,若不存在x则报错 |
list.count(x) | 统计列表中x元素的个数 |
list.reverse() | 将列表方向排列 |
list.sort() | 将列表从小到大排序,若需从大到小排序,则用list.sort(reverse=True)表示 |
list.copy() | 返回列表的副本 |
列表的查找,排序与反转
列表的查找提供了两种方式:
一种是使用index方法返回元素在列表中的位置 list.index()
另一种是使用保留字"in"来判断元素是否在列表中 "" in list
list排序:list.sort()默认情况下是按字母升序排列,如果设置参数reverse=True,则采用首字母降序排列
list反转:list.reverse()
堆栈的实现:
堆栈是指最先进入堆栈的元素最后才输出,符合"后进先出"的原则
栈的插入、弹出是通过栈首指针控制的,当插入一个新的元素时,指针移动到新元素的位置,当弹出一个元素时,指针移动下面一个元素的位置,即原堆栈倒数第2个元素的位置,该元素成为栈顶元素。
堆栈的实现方法是:调用append()可以把一个元素添加到堆栈的顶部,调用pop()方法可以把堆栈中的最后一个元素弹出来
字典
字典是由"键-值"对组成的集合,字典中的"值"通过"键"来引用
字典的创建是通过花括号来创建的
如dictionary_name = {}
字典与列表不同,字典没有remove().字典元素的删除,可以调用del()实现
字典元素的删除可以调用pop()方法,清空字典中的所有内容可以调用
字典的clear()方法
由于字典是无序的,因此字典中没有append()、remove()等方法
如果需要向字典插入新的元素可以调用setdefault()方法
除了for循环,还可以使用items()方法实现字典的遍历操作
字典的方法:
keys()和values()方法
get()方法:
dict.get(k,d)如果键k的value存在就返回该value,否则返回d
update()方法:
dict.update(dict2)就相当于把dict和dict2合并到dict中了
字典的排序与复制:
dict={'a':'apple','b':'banana','c':'grape','d':'orange'}
sorted(dict.items(),key=lambda s:s[0])按键来排序
sorted(dict.items(),key=lambda s:s[1])按value值来排序
浅拷贝(copy,deepcopy):
dict ={'a':'apple','b':'grape'}
dict2 ={'c':'orange','d':'banana'}
dict2 = dict.copy()
浅拷贝和深拷贝的区别:
浅拷贝的数据改变了会影响原字典的数据,
深拷贝的数据改变了对原字典的数据不会有任何影响
序列:是具有索引和切片能力的集合。元组、列表和字符串具有通过索引访问某个具体的值,或通过切片返回一段切片的能力,因此元组、列表和字符串都属于序列。
元组和列表都具有序列的特性,但是他们的区别也很明显。元组是只能读的一组数据,而且元组没有提供排序和查找的方法。列表的数据既可以读,也可以写,而且提供了丰富的操作方法,支持排序、查找操作