字典和元组的内置方法
利用列表实现队列与堆栈的特征
字典内置方法
元组及元组内置方法
集合及集合内置方法
队列与堆栈
队列:
先进先出
a = []
a.append(11)
a.append(22)
a.append(33)
print(a.pop(0))
print(a.pop(0))
print(a.pop(0))
用索引取值来实现
先进后出
a = []
a.append(11)
a.append(22)
a.append(33)
print(a.pop())
print(a.pop())
print(a.pop())
用pop尾部弹出
一,字典的内置方法
字典的key 是不可变类型,任何不可变类型都可以用作key
v可以是任何类型
按key存取值:可存可取
d1 = {
# 'username':'jason',
# 'password':123,
# 'hobby':['read', 'run']
# }
# print(d1,type(d1))
# d2 = {
# 1:'jason',
# 2:'egon',
# 3:'kevin'
# }
# print(d2,type(d2))
# d3 = {
# 1.1:'jason',
# 2.2:'egon',
# 3.3:'kevin'
# }
# print(d2,type(d2))
K值只要是不可变类型即可,同一个字典内可以混用
d4 = {
# 'username':'jason',
# 1:'egon',
# 1.1:'kevin'
# }
# print(d4,type(d4))
作用:存多个值,key—value可以是任意类型
定义:key必须是不可变类型,value可以是任意类型
#优先掌握的操作:
#1、按key存取值:可存可取
d1 = {
'username':'jason',
'password':123,
'hobby':['read', 'run']
}
# print(d1['username']) # jason
# print(id(d1))
# d1['username'] = 'tony'
# print(id(d1)) # {'username': 'tony', 'password': 123, 'hobby': ['read', 'run']}
# 字典是可变类型
# print(d1['age']) # 键不存在 直接报错!!!
# d1['age'] = 18 # 键存在则修改 不存在则新建
# print(d1) # {'username': 'jason', 'password': 123, 'hobby': ['read', 'run'], 'age': 18}
#2、长度len 统计字典中键值对的个数
# print(len(d1)) # 3
#3、成员运算in和not in
# print('jason' in d1) # False 字典默认只暴露key value不暴露 如果想取 一般只能通过key
# print('username' in d1) # True
#4、删除
# del d1['password']
# print(d1) # {'username': 'jason', 'hobby': ['read', 'run']}
'''字典不能使用索引!!!'''
# res = d1.pop('password')
# print(d1) # {'username': 'jason', 'hobby': ['read', 'run']}
# print(res) # 123
#5、键keys(),值values(),键值对items()
# 将keys()的结果可以直接看成是列表
# print(d1.keys()) # 获取字典中所有的key dict_keys(['username', 'password', 'hobby']) 老母猪
# for k in d1.keys():
# print(k)
"""
python2与python3对比
python3
keys() dict_keys(['username', 'password', 'hobby']) 老母猪
python2
keys() ['username', 'password', 'hobby']
"""
# 将values()的结果可以直接看成是列表
# print(d1.values()) # dict_values(['jason', 123, ['read', 'run']]) 你要啥他给你啥
"""
python2与python3对比
python3
values() dict_keys(['jason', 123, ['read', 'run']]) 你要啥他给你啥
python2
values() ['jason', 123, ['read', 'run']]
"""
# 将items()的结果可以直接看成是列表[]套小列表()
# print(d1.items())
# for k,v in d1.items(): # 解压赋值 结合 for循环
# print(k,v)
"""
python2与python3对比
python3
items() dict_keys([('username', 'jason'), ('password', 123), ('hobby', ['read', 'run'])]) 老母猪
python2
items() [('username', 'jason'), ('password', 123), ('hobby', ['read', 'run'])]
"""
#6、循环
'''字典for循环只能获取到key'''
# for i in d1:
# print(i)
# dict.get() # 使用频率最为广泛 通过字典的key获取字典的value
# print(d1.get('username')) # jason
# print(d1['username']) # jason
# key不存在
# print(d1['age']) # 直接报错
# print(d1.get('age')) # get方法键不存在也不会报错 返回None(什么都没有)
# print(d1.get('username','嘿嘿嘿')) # jason
# print(d1.get('age','嘿嘿嘿')) # 嘿嘿嘿
'''get方法还可以给第二个参数 键存在则不使用 键不存在则返回第二个参数 不写默认返回None'''
# 第一种创建字典的方式
# d2 = {'k1':'v1','k2':'v2'} # dict({'k1':'v1','k2':'v2'})
# 第二种创建方式
# res = dict(name='jason',pwd=123,hobby=['read','run'])
# print(res) # {'name': 'jason', 'pwd': 123, 'hobby': ['read', 'run']}
# 第三种创建方式
# l = [
# ['username','jason'],