元组,字典,集合的简单记载

元组(tuple)
       因为是()表示 ,跟以后的函数会很相似,所以我们最好在最后面元素加一个,号。用于好区分元组和函数
       不能修改元组,其余跟列表一样
       test = ("huangjian",121,[("gerg","dre",546,),["dsa","tytr",53]],)
       test[2][1] = "haha"
      print(test)
      注:这里所说的不能修改是修改里面的元素,如果里面嵌套了别的类型如字典,列表,元组,我们视整体位元素(一级元素),只要性质不变,就没改变
            嵌套里面的类型的元素不视为元组元素。


字典(dict)
       字典的key值不能是列表和字典,value随便是是什么值
        字典是无序的
       
        如果字典中有有重复的key,那么它将只出现一个key的键值对

      一般的,方法后面接(),取值如字典,元组,列表都是用[ ]表示
      info = {"k1":"asdf",1:"retre",2:[21312,"ewq","asd",{"name":"huang","age":21}]}
      print(info[2][3]["age"])
      del(info[2][3]["name"])
      print(info)
      info.pop(1)                 #popitem()     随机删除一对键值
      print(info)
      可以使用del和pop删除键对(pop删除可以后面接一个value,表示不存在的key输出这个value值),
      对于dict,用for循环默认输出key,不输出value  ,如果只想输出value,可以for i in info.value:   #用dict的方法
      然而却不能使用while循环。
      info.keys   info.value  info.items(获取键值对)
      for k,s in info.items():
                print(k,s)

 

info = {"k1":"asdf",1:"retre",2:[21312,"ewq","asd",{"name":"huang","age":21}]}
print(info[2][3]["age"])
del(info[2][3]["name"])
print(info)
info.pop(1)
print(info)

dict
#v = #dict.fromkeys(["key1","key2","key3"],12) #dict这个类的方法,与对象info无关。循环前一个参数,变成key,统一键值
#v = dict.fromkeys("dsadw","deef")
#print(v)
print(info.get(2),"haha") #另外一种取值,对比直接索引取值,这个即使没有也不会报错,后面参数是默认value,如果key存在就
print(info.get(123,"test")) # 正常取value值,如果取得key不存在,不会报错,默认写的默认值
info.update("k1":"haha","test":"dsad") #更新,已有的覆盖,没有的增加 也可写成对子("k1"="haha","test"="dsad")
info.setdefault("k1":"dsadefef") #已有就没什么用,没有就增加进去

布尔值
True False
1 0

None "" () [] {} 都是False




集合(set)
集合是一个无序不重复的数据组合,且只能存放的元素是不可变类型(数字,字符串,元组)
s = {1,2,3,4}
主要作用:   去重:把一列表变集合  ,自动去重        关系测试:测试两组数据的交际,并集等关系
s.add() s.clear() s.copy() s.pop() :随机删除 s.remove(1) 不存在会报错 s.discard(1) 不会报错,一般用它 s.update() 增加多个元素
s.intersection(s2) 交集 & s1.union(s2) 可用符号|表示 s1.difference(s2) 可用符号-表示


b = ["fef",21]
c ={"key1":123}
py_name = {"huangjian","maozi","test"}
linux_name = {"huangjian","haha"}

print(py_name-linux_name) #差集 difference
print(py_name|linux_name) #并集 union
print(py_name.intersection(linux_name)) #交集
print(py_name^(linux_name)) #交叉补集 symmetric_difference



print(py_name.difference_update(linux_name)) #差集,并且把差集覆盖了原来的集合(有upate都是覆盖原有的集合)

print(py_name.isdisjoint(linux_name)) #是否交集为空。空位True ,有交集返回False
print(py_name.issubset(linux_name)) #是否是子集,是则返回Ture
print(py_name.issuperset(linux_name)) #是否是父集




posted @ 2020-06-09 18:38  xiaojianfir  阅读(143)  评论(0)    收藏  举报