Python基本数据结构简介—列表、元组、字典、集合
1.列表
可变可重复的有序序列,符号标记:[ ]。
一个列表中可同时存放多种类型的数据
1.1 定义
赋值运算直接创建:listName = [1,8,a,‘hello’,‘数据’,3.125]
赋值创建空列表:listName = [ ]
创建数值列表:listName = list(range(10,20,2)) #创建一个10-20之间所有偶数的列表
列表推导使生成:listName = [ int(x*0.5) for x in price]#price为一个列表,listName为新成的列表,里面元素为旧列表的0.5倍
1.2 访问列表
直接输出:print(listName)
遍历:
for循环实现:
for item in listName:
print(item)
for循环加enumerate():
for index,item in enumerate(listName):
print(index,item)
1.3 添加 修改 删除
添加
append添加:listName.append(“摩托罗拉”)——针对单个或多个元素
extend添加:listName.extend(firstName)——将firstName列表的元素全添加到 listName里
修改
直接重修赋值即可,单个也行。
删除
del listName[-1],-1表示最后一个元素
del listName[“张三”],删除张三这个元素
1.4 排序
listName.sort()#默认升序
listName.sort(reverse = True)#降序
listName.sort(key = str.lower)#是字符串列表,不区分大小写(默认区分),升序
listname = listName.sorted()#原列表listName顺序不变,新listname顺序变化
1.5 其他
listName.count()#统计出现的次数
listName.index()#统计首先出现的索引值
sun(data)#统计数值列表data里所有元素之和
2. 元组
不可变可重复有序序列,符号标记:( ),小括号非必须
一个元组中可同时存储多种类型的数据
2.1 定义
直接定义:tupleName = (1,5,‘数字’,“数值”,“Jack”)
空元组:tupleName = ( )
创建数值元组:tupleName = tuple(range(10,20,2))
元组推导生成新元组:tupleName = (float(x/2) for x in tuplename)
如果定义的元组只有一个元素,后面必须加一个逗号,否则定义的不是元组
2.2 访问
同列表
2.3 修改、添加、删除
因为不可变序列,因此无法单独完成某个元素的修改、添加、删除,只能对整个元组重新赋值达到目的.
3. 字典
可变可重复无序序列 符号:{key:value}
键(key)不可变,键不能使用列表,除非用zip()函数转换。值(value)可变,
字典的索引是通过键完成
3.1 定义
直接创建:
dictionary = {'key1:value1','key2:value2','key3:value3'}
创建空字典:
dictionary = {}
dictionary = dict()
映射函数创建:
dictionary = dict(zip(list1,list2))#通过列表创建字典
dictionary = dict(zip(tuple1,tuple2))#通过元组创建字典
给定关键字参数创建字典:
dictionary = dict(key1=value1,key2=value2,key3=value3)#value表示数值,任何类型看
dictionary = dict.fromkeys(list)#list为键,值为空的字典
dictionary = dict(tuple:list/tuple)#键不能为list
推导式创建:
dictionary = {i:j for i,j in zip(list,list)}
3.2 访问
直接输出:
print(dictionary)
键值输出:
print(dictionary[key])
print(dinctionary.get[key(,returnValue)])#没有返回returnValue,省略默认None
遍历:
dinctionary.items()
for item in dictionary.items():
print(intem)#键值配对表
for key,value in dictionary.items():
print(key,value)#分别输出键与值
3.3 添加、修改、删除
正常,无特殊注意
4. 集合
可变无重复无序序列 符号:{}
因为无序,所有每次全输出或多输出顺序可能不同
4.1定义
直接使用 { }
或使用set()
gather = set("当初恶化哦服务和绿萼全欧律")
gather set([3.14,52,45,2365])#列表创建
gather = set(("实际","hvru","二纺机"))#元组创建
4.2 访问
直接输出
4.3 添加、删除
添加:gether.add()
删除:gather.remove() gether.pop()
gether.clear() del gather{} 全删除
4.4 运算
print(gather1 | gether2)
print(gather1 & gether2)
print(gather1 - gether2)