【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 

 

posted @ 2018-07-17 22:05  Su晓  Views(160)  Comments(0Edit  收藏  举报