文章目录
前言
序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字即它的位置,或者称之为索引,有关索引在我的博客中讲过,它可以用切片来操作。
这里再简单赘述一下,假设字符长度为n,从第一位到最后一位的切片是:
第一种方式:0,1,2,3…n-2,n-1
第二种方式:-n,-n+1,…,-2,-1
依次类推。
Python2/3中有6个内置类型,但最常见的是列表和元组。
序列都可以进行的操作包括索引,切片,加,乘,检查成员。
此外,Python还确定了序列的长度以及确定最大最小值的元素方法。
Python3 列表
列表是最常用的Python数据类型,它可以作为一个方括号内的分隔值出现。
列表的数据项数据不需要具有相同的类型.
创建列表、空列表
更新列表
合并列表
- append():追加元素
- extend():再原有列表的基础上追加列表
+
:两个列表合并成一个新的列表- +=:效果与extend()一样
*
:重复列表
append()、extend()的结果不会重新生成内存空间,而+、+=、*会
删除列表元素
可以使用del语句来删除列表的元素。
remove()函数用于移除列表中的某个的第一个匹配项。
列表截取
Python列表操作的函数和方法
列表操作包含以下函数:
- cmp(list1, list2):比较两个列表的元素 ;python3中已经移除了这个函数
- len(list):列表元素个数;
- max(list):返回列表元素最大值;
- min(list):返回列表元素最小值;
- list(seq):将元组转换为列表。
列表操作包含以下方法:
- list.append(obj):在列表末尾添加新的对象;
- list.count(obj):统计某个元素在列表中出现的次数;
- list.extend(seq):在列表末尾一次性追加另一个序列中的多个值(用新列表 扩展原来的列表);
- list.index(obj):从列表中找出某个值第一个匹配项的索引位置;
- list.insert(index, obj):将对象插入列表;
- list.pop(obj=list[-1]):移除列表中的一个元素(默认最后一个元素),并且返回该元素的值;
- list.remove(obj):移除列表中某个值的第一个匹配项;
- list.reverse():反向列表中元素;
- list.sort([func]):对原列表进行排序。
二维列表的创建与访问
Python3 字典
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值(key:value)对用冒号(:)分割,每对直接用,
分割,整个字典在{}
中,格式如下所示:
d = {key1 : value1, key2 : value2 }
其键必须是唯一的,但值则不必,值可以取任何数据类型,但键必须是不可变的,如字符串,数字或者元组。
修改字典
可向字典添加新的内容的方法是增加新的键/值对,修改或删除已有键/值对。
删除字典以及元素
字典的特性
- 不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住,也就是说后面的会覆盖前面的
- 键必须不可变,所以可以用数字、字符串或者元组充当,而用列表就不行,如下实例:
字典内置函数&方法
Python3字典包含了以下内置函数:
函数 | 描述 |
---|---|
len(dict) | 计算字典元素个数,即键的总数 |
str(dict) | 输出字典,以可打印的字符串表示 |
type(variable) | 返回输入的变量类型,如果变量是字典就返回字典类性 |
Python3字典包含了以下内置方法
函数名 | 描述 |
---|---|
radiansdict.clear() | 删除字典内所有元素 |
radiansdict.copy() | 返回一个字典的浅复制 |
radiansdict.fromkeys() | 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值 |
radiansdict.get(key, default=None) | 返回指定键的值,如果值不在字典中返回default值 |
key in dict | 如果键在字典dict里返回true,否则返回false |
radiansdict.items() | 以列表返回可遍历的(键, 值) 元组数组 |
radiansdict.keys() | 返回一个迭代器,可以使用 list() 来转换为列表 |
radiansdict.setdefault(key, default=None) | 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default |
radiansdict.update(dict2) | 把字典dict2的键/值对更新到dict里 |
radiansdict.values() | 返回一个迭代器,可以使用 list() 来转换为列表 |
pop(key[,default]) | 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。 |
popitem() | 随机返回并删除字典中的最后一对键和值。 |
Python3 集合
集合(set)是一个无序的不重复元素序列。
可以使用大括号是{}或者set()函数创建集合,**注意:创建一个空集合必须用set()
而不是{ },因为{ }是用来创建一个空字典。
parame = {value01,value02,......}
或者
set(value01,value02,...)
基本操作
跟列表一样,因为可变的特性,所有它也由推导式——集合推导式(Set comprehension)
添加操作
将元素添加到集合中,如果元素已存在,则不进行任何操作。
还有一个方法式update,这里面的参数可以是多个,用逗号隔开
集合内置方法完整列表
方法 | 描述 |
---|---|
add() | 为集合添加元素 |
clear() | 移除集合中的所有元素 |
copy() | 拷贝一个集合 |
difference() | 返回多个集合的差集 |
difference_update() | 移除集合中的元素,该元素在指定的集合也存在。 |
discard() | 删除集合中指定的元素 |
intersection() | 返回集合的交集 |
intersection_update() | 返回集合的交集。 |
isdisjoint() | 判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。 |
issubset() | 判断指定集合是否为该方法参数集合的子集。 |
issuperset() | 判断该方法的参数集合是否为指定集合的子集 |
pop() | 随机移除元素 |
remove() | 移除指定元素 |
symmetric_difference() | 返回两个集合中不重复的元素集合。 |
symmetric_difference_update() | 移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。 |
union() | 返回两个集合的并集 |
update() | 给集合添加元素 |