- 一、Python列表类型(List)
- 二、Python元组类型(tuple)
- 三、Python集合类型(set)
- 四、Python字典类型(Dictionary)
List(列表)是 Python 中使用最频繁的数据类型
列表可以完成大多数集合类的数据结构实现,它支持字符,数字,字符串甚至可以包含列表(所谓嵌套)
列表用 [ ] 标识,是python最通用的复合数据类型。
列表中值的分割也可以用到变:[头下标 : 尾下标],就可以截取相应的列表,从左到右索引默认 0 开始的,从右到左索引默认 -1 开始,下标可以为空表示取到头或尾
加号(+)是列表连接运算符,星号(*)是重复操作。
例如:
list = [ 'abcdefg', 666 , 1.12, 'python', 61.1 ]
tinylist = [52131, 'python']
print(list) # 输出完整列表
print(list[0]) # 输出列表的第一个元素
print(list[1:3]) # 输出第二个至第三个的元素
print(list[2:]) # 输出从第三个开始至列表末尾的所有元素
print(tinylist * 2) # 输出列表两次
print(list + tinylist) # 打印组合的列表
list列表常用操作方法:
L.append(var) #追加元素
L.insert(index,var) #在指定位置插入元素
L.pop(var) #返回最后一个元素,并从list中删除之,也可以删除指定位置的元素
L.remove(var) #删除第一次出现的该元素
L.count(var) #该元素在列表中出现的个数
L.index(var) #该元素的位置,无则抛异常
L.extend(list) #追加list,即合并list到L上
L.sort() #排序 L.reverse() #反转
list列表的复制:
L1 = L #L1为L的别名,用C来说就是指针地址相同,对L1操作即对L操作。
#函数参数就是这样传递的
L1 = L[ : ] #L1为L的克隆,即另一个拷贝
二、Python元组类型(tuple)
元组是类似于List(列表)的另一个数据类型 元组用 ( ) 标识,内部元素用逗号隔开。但是元素不能二次赋值,相当于只读列表。
构造包含 0 个或 1 个元素的元组比较特殊 有一些额外的语法规则:
tup1 = () # 空元组
tup2 = (20,) # 一个元素,需要在元素后添加逗号 #可以不添加","号
注意事项: 1.元组也可以被索引和切片,方法与列表一样 2.与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组 3.元组可以使用之前列表中的count()、index()方法,其余的方法不行 4.因为元组不可变,所以代码更安全。如果可能,能用元组代替列表就尽量用元组
三、Python集合类型(set)
集合(set)是一个无序不重复元素的序列。基本功能是进行成员关系测试和删除重复元素
使用大括号 { } 或者 set() 函数创建集合
注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
例如:
ser01={'new','demo',54} #普通集合
set02= set('newdemo') #把字符串强制转换为集合,有相同的字符e,只保留一个。
集合运算:
a = set('newdemo54')
b = set('new88')
print(a - b) # a和b的差集即打印a中存在,但b中不存在的元素
print(b - a) # b和a的差集即打印b中存在,但a中不存在的元素
print(b | a) # a和b的并集即打印a和b中不重复的所有元素
print(a & b) # a和b的交集即打印a和b中都存在的元素
print(a ^ b) # a和b中不同时存在的元素
四、Python字典类型(Dictionary)
字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型 列表是有序的对象集合,字典是无序的对象集合
两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取
字典用 { } 标识 字典由索引 (key) 和它对应的值 value 组成 字典也被称作关联数组或哈希表
字典两个注意事项: 1.字典中的键必须独一无二,但值则不必。创建时如果同一个键被赋值两次,后一个值会被记住 2.键必须不可变,可以用数字,字符串或元组充当,但是不可以用列表
创建字典: 简单地说字典就是用大括号包裹的键值对的集合(键值对也被称作项) 一般形式如:
adict = {}
adict = {key1:value1, key2:value2, …}
使用工厂方法 dict() 创建字典:
adict = dict() 或 adict = dict((['x',1],['y',2]))
关键字参数创建字典:
adict= dict(name='allen',age='40′)
使用内建方法 fromkeys(S [ , v])) ,即将S里的元素作为键,v作为所有键的值,即字典中的元素具有相同的值,v 的默认值为 None。
L1 = [1,2,3] d.fromkeys(L1)
dict.fromkeys(L1,'over') {1: 'over', 2: 'over', 3: 'over'} b={}.fromkeys(('x','y'),1)
更新字典:
adict[new_key] = value 形式添加一个项 adict[old_key] = new_value
更新一个数据项(元素)或键值对 del adict[key]
删除键key的项 /
del adict 删除整个字典
字典常用方法: 1.adict.keys() 返回一个包含字典所有KEY的列表 2.adict.values() 返回一个包含字典所有value的列表 3.adict.clear() 删除字典中的所有项或元素 4.adict.get(key, default = None) 返回字典中key对应的值,若key不存在字典中,则返回default的值(default默认为None) 5.adict.pop(key[,default]) 和get方法相似。如果字典中存在key,删除并返回key对应的vuale;如果key不存在,且没有给出default的值,则引发keyerror异常 6.adict.update(bdict) 将字典bdict的键值对添加到字典adict中,无则添加,有则覆盖