【python基础】之列表、元组、字典、集合
一、列表List
1.定义列表
a= ['a','b','c','d','e','f']
2.列表查询
#用索引访问list中的每一个元素,索引从0开始 #输出索引为1的值 print(a[1]) b #从索引1取值到最后 print(a[1:]) ['b', 'c', 'd', 'e', 'f'] #输出最后一个元素 print(a[-1]) f #从倒数第二值向前取 print(a[:-1]) ['a', 'b', 'c', 'd', 'e'] #从左到倒数第二值,隔两个取一个 print(a[1:-1:2]) ['b', 'd'] #从左到右隔两个取一个 print(a[1::2]) ['b', 'd', 'f']
3.添加
#append,默认添加到最后 a.append('f') print(a) #insert,可以将数据插入到任意位置 a.insert(2,'g') print(a)
4.修改
a[0]='hello' print(a) a[1:3]=['h','m'] print(a)
5.删除
#remove a.remove(a[4]) print(a) #pop,该方法可返回删除的值 b = a.pop(1) print(a) print(b) #del del a[0] print(a) #del删除整个对象 del a #clear 清空序列,此时是一个空数组 a.clear()
6.其他常用方法
#count:计算某元素出现次数 t=['a','b','c','a'].count('a') print(t) #extend :扩展序列 a=['a','b','c'] b=['e','f','g'] a.extend(b) print(a) #index 获取元素位置 a=['a','b','c','a'] print(a.index('b')) #reverse 倒序排列 a=['b','a','h','f','m','v','e'] a.reverse() print(a) #sort() 从小到大排序 b=[4,6,2,8,3] b.sort() print(b)
二、元组:是一种特殊的列表,一旦创建,不可修改;称之为只读列表,仅有两个方法:一个是count,一个是index
1.定义元组
a =('a','b','c','d')
#当定义只有一个元素的元组时,必须加一个逗号,否则会产生歧义 t = (1,)
三、字典:一种key - value 的数据类型;特点:无序、key唯一
1.定义字典
dic = {'Jack': 95, 'Bob': 75, 'Tracy': 85}
2.查找
#检测是否存在 a = 'Jack' in dic print(a) True #获取某个值;不存在时返回None a = dic.get('Jack') print(a) 95 #获取某个值;不存在时会报错 a = dic['Jack'] print(a) 95 #获取键信息 a = dic.keys() print(a) dict_keys(['Jack', 'Bob', 'Tracy']) #获取值信息 a = dic.values() print(a) dict_values([95, 75, 85])
3.新增
#直接新增 dic['Mick'] = 100 print(dic) {'Jack': 95, 'Bob': 75, 'Tracy': 85, 'Mick': 100} #使用update dic2 = {'Allen': 14, 'Rod': 12, 'Alez': 16} dic.update(dic2) print(dic) {'Jack': 95, 'Bob': 75, 'Tracy': 85, 'Allen': 14, 'Rod': 12, 'Alez': 16}
4.修改
dic['Mick'] = 150 print(dic) {'Jack': 95, 'Bob': 75, 'Tracy': 85, 'Mick': 150}
5.删除
#方法一 dic.pop('Jack') print(dic) {'Bob': 75, 'Tracy': 85, 'Mick': 150} #方法二 del dic['Jack'] print(dic) {'Bob': 75, 'Tracy': 85, 'Mick': 150} #清空字典 dic.clear() #删除字典 del dic
6.遍历dic
#方法一 for key in dic: print(key,dic[key]) #方法二 for k,v in dic.items(): #会先把dict转成list print(k,v)
四、集合:一个无序不重复元素的序列
1.定义集合
s = set([1,2,3,4]) t = set('hello') #注意:集合对象必须是可哈希的值,即不可变类型;以下这种会报错 li = [[1,2],3,4] s = set(li) print(s)
2.基本操作
#添加一项 t.add('a') #在s中添加多项 s.update([5,8,3]) #删除一项 s.remove('1') #清空集合 s.clear() #删除集合 del s
3.关系测试
#t 和 s的并集,包含 s 和 t 中的每一个元素 s.union(t) t|s # t 和 s的交集,包含 s 和 t 中的公共元素 s.intersection(t) t&s #求差集(项在t中,但不在s中) s.difference(t) t-s #对称差集(项在t或s中,但不会同时出现在二者中) s.symmetric_difference(t) t^s #测试 x 是否不是 s 的成员 x in s #测试 x 是否不是 s 的成员 x not in s #测试是否 s 中的每一个元素都在 t 中 s.issubset(t) s <= t #测试是否t 中的每一个元素都在 s 中 s.issuperset(t) s >= t