# 队列与堆栈
# l=[]
# l.append("first")
# l.append("sconed")
# l.append("third")
# print(l)
# print(l.pop(2))
# print(l.pop(1))
# print(l.pop(0))
# 元组数据类型
# 元组 (不可变的列表)
# 作用:按照索引放多个值,只用于读不用于改
# 类如:t=(10)这不叫元组 一定要在里面加一个逗号t=(10,)
# 按照索引取值:
# t=(111,222,(333,888))
# print(t[2])
# print(t[0])
# 切片
# t=(111,222,(333,888),"egon")
# print(t[:2])
# print(t[:-1])
# 长度
# print(len(t)) #为4
# 成员运算in和not in
# print(111 in t)
#
#
# 内置方法
# index
# count
# 字典数据类型
# d={"name":"chenhao","age":19,"pwd":123,"much":{"time":456,"dad":"father"}}
# 取值操作
# print(d["much"]["time"]) #以d["key"]["key"]的方式取值
# # 存值操作
# d["langren"]="lang" #以d["key"]="values"的方式存值
# print(d)
# d.pop("much","time")
# print(d) #以d.pop("key","key")方式删除
# 取列表所有key
# d.keys()
# print(d.keys())
# 取列表所有values
# d.values()
# print(d.values())
# 取列表所有的键值对
# d.items()
# print(d.items())
# 字典需要掌握的
# d.get("name") #取值操作
# print(d.get("name")) # 有就取key对应的值,没有就默认none 和上面不一样的操作是上面报错
# print(d.pop("age")) #删除key对应的值
# d.update({"name":"haha"})
# print(d.update({"name":"haha"})) #有就改没有就添加 千万记住要加花括号
# item=d.popitem() # 随机删除一组键值对,并将删除的键值放到元组内返回
# print(item)
# n=d.setdefault("name","haha") key不存在则新增键值对,并将新增的value返回
# print(n) key存在则不做任何修改,并返回已存在key对应的value值
# d.fromkeys(["name","age","pwd","much"],[1,2])
# print(d.fromkeys(["name","age","pwd","much"],[1,2])) #把所有d字典里的key都赋予同一个键
# 集合
# 内置方法:
# x&y x,y共同拥有的
# x|y x的所有加上y的所有
# x-y x的单独拥有
# y-x y单独拥有
# x-y|y-x 或者 x^y 都可以表示两个单独所有的和
# 去重
# s={1,1,1,3.6,"egon",9}
# y=set(s)
# print(y)
# l=[
# {'name':'lili','age':18,'sex':'male'},
# {'name':'jack','age':73,'sex':'male'},
# {'name':'tom','age':20,'sex':'female'},
# {'name':'lili','age':18,'sex':'male'},
# {'name':'lili','age':18,'sex':'male'},
# ]
# y=[]
# for x in l:
# if x not in y:
# y.append(x)
# print(y)