Python数据类型补充2

四、列表

常用操作+内置的方法:

1、按索引存取值(正向存取+反向存取):即可存也可以取
# li=['a','b','c','d']
# print(li[-1])
# li[-1]='D'
# print(li)
#
# # li[4]='e'
# del li[0]
# print(li)


2、切片(顾头不顾尾,步长)
# li=['a','b','c','d']
# print(li[0:3])

3、长度
# print(len(li))

4、成员运算in和not in
# users=['egon','lxx','yxx','cxxx',[1,2,3]]
# print('lxx' in users)
# print([1,2,3] in users)
# print(1 in users)

5、追加
# li=['a','b','c','d']
# print(id(li))
# li.append('e')
# li.append([1,2,3])
# print(li,id(li))

6、删除
# li=['a','b','c','d']
# 按照元素值去单纯地删除某个元素
# del li[1]
# res=li.remove('c')
# print(li)
# print(res)
# 按照元素的索引去删除某个元素并且拿到该元素作为返回值
# res=li.pop(1)
# print(li)
# print(res)

7、循环
# li=['a','b','c','d']
# for item in li:
#     print(item)

Conclusion

存多个值

有序

可变(1、可变:值变,id不变。可变==不可hash 2、不可变:值变,id就变。不可变==可hash)
 print(hash([1,2,3]))


# 需要掌握的操作
li=['a','b','c','d','c','e']
# print(li.count('c'))
# li.extend([1,2,3])
# li.append([1,2,3])
# print(li)

# print(li.index('z'))
# print(li.index('b'))
# print(li.index('d',0,3))

# li.insert(1,'egon')
# print(li)

# li=[3,1,9,11]
# li.reverse()
# print(li)

# li.sort(reverse=True)
# print(li)


# 队列: 先进先出
# q=[]
# # 入队
# q.append('first')
# q.append('second')
# q.append('third')
# print(q)
# # 出队
# print(q.pop(0))
# print(q.pop(0))
# print(q.pop(0))

# 堆栈: 先进后出
q=[]
# 入栈
q.append('first')
q.append('second')
q.append('third')
# 出栈
print(q.pop(-1))
print(q.pop(-1))
print(q.pop(-1))

五、元组

元组就是一个不可变的列表

# res=tuple('hello')
# res=tuple({'x':1,'y':2})
# print(res)

常用操作+内置的方法:

1、按索引取值(正向取+反向取):只能取
# t=('a','b',1)
# t[0]=111

2、切片(顾头不顾尾,步长)
# t=('h','e','l','l','o')
# res=t[1:3]
# print(res)
# print(t)

3、长度
# t=('h','e','l','l','o')
# print(len(t))

4、成员运算in和not in
# t=('h','e','l','l','o')
# print('h' in t)

5、循环
# t=('h','e','l','l','o')
# for item in t:
#     print(item)

Conclusion

存多个值

有序

# 不可变(1、可变:值变,id不变。可变==不可hash 2、不可变:值变,id就变。不可变==可hash)
t=(1,'a',['x','y','z'])
# print(id(t[2]))

# print(id(t))
t[2][0]='X'
# print(t)
# print(id(t))

# print(id(t[2]))


# list1=['a','b','c']
# print(id(list1[0]))
# print(id(list1[1]))
# print(id(list1[2]))
#
# print('='*50)
# list1[1]='B'
# print(id(list1[0]))
# print(id(list1[1]))
# print(id(list1[2]))

掌握的方法
t=('a','b','a')
# print(t.index('a'))
print(t.count('a'))

六、字典

常用操作+内置的方法:

1、按key存取值:可存可取
d={'x':1}
# print(d['x'])
# print(id(d))
# d['x']=1111
# print(d)
# print(id(d))
# d['y']=2222
# print(d)

2、长度len
# d={'x':1,'y':2,'z':3}
# print(len(d))

3、成员运算in和not in
# d={'x':1,'y':2,'z':3}
# print(1 in d)
# print('x ' in d)

4、删除
d={'x':1,'y':2,'z':3}
# del d['y']
# print(d)

# res=d.pop('y')
# print(d)
# print(res)

# res=d.popitem()
# print(res)

5、键keys(),值values(),键值对items()
# d={'name':'egon','age':18,'sex':'male','hobbies':[1,2,3]}
# # print(d.keys())
# print(list(d.keys()))
#
# # print(d.values())
# print(list(d.values()))
# # print(d.items())
# print(list(d.items()))

6、循环

# for k in d.keys():
#     print(k)
# for k in d:
#     print(k)

# for v in d.values():
#     print(v)

# for k,v in d.items(): #k,v=('name', 'egon')
#     print(k,v)

Conclusion

 存多个值

# 无序

# 可变(1、可变:值变,id不变。可变==不可hash 2、不可变:值变,id就变。不可变==可hash


# 需要掌握的操作
# get方法
# d={'name':'egon','age':18,'sex':'male','hobbies':[1,2,3]}
# v=d.get('namexxxxxxx')
# print(v)

# v1=d['namexxxxxxxxxxx']
# print(v1)

#update方法
# d={'name':'egon','age':18,'sex':'male','hobbies':[1,2,3]}
# d.update({'x':1,'name':"EGON"})
# print(d)

# fromkeys:需求是快速新造出一个字典,value的初始值全都为None,而key是来自于一个列表
# keys=['name','age','sex']
# # d={}
# # for k in keys:
# #     d[k]=None
#
# d={}.fromkeys(keys,None)
# print(d)

# setdefault
d={"x":1,"y":2}

# 按照默认的操作形式
# d['x']=1111 # key存在则修改
# d['z']=1111 #key不存在则新增

# 按照setdefault的形式
# d={"x":1,"y":2}
# res=d.setdefault('x',11111) # 在key存在的情况下不修改值,会返回原值
# print(d)
# print(res)

# res=d.setdefault('z',11111) # 在key不存在的情况下会新增值,会返回新增的值
# print(d)
# print(res)

七、集合

1. 什么是集合
在{}内用逗号分隔开多个值,集合的特点:
1. 每个值必须是不可变类型 2. 集合无序 3. 集合内元素不能重复

2. 为何要用集合
1. 用于做关系运算
2. 去重

需要掌握的操作

s1={1,2,3}
# s1.update({3,4,5})
# print(s1)
# print(s1.pop())
# print(s1)

# s1.remove(2)
# print(s1)

# s1={1,2,3}
# print(id(s1))
# s1.add(4)
# print(s1)
# print(id(s1))

# s1={1,2,3}
# s1.discard(4)
# s1.remove(4)
# print(s1)

# s1={1,2,3}
# s2={4,5}
# print(s1.isdisjoint(s2))

Conclusion

存多个值
无序

猜你喜欢

转载自www.cnblogs.com/wanlei/p/9784028.html