天天看點

python---資料類型----set集合和字典

一、set集合

               元素是無序的,不可重複的資料類型

               無序特性:嵌入的資料的順序和取出來的順序是不一樣的

               不可重複:資料不能有重複的元素

       set定義:

              使用{}來定義set集合:{},而且至少要有一個元素

              可以對set集合類型進行集合運算,差集,補集,交集

# num6=set("abcdefg");
# num7=set("abcmn");
# print(num6 - num7)#差集 {'d', 'e', 'g', 'f'}       集合a中包含而集合b中不包含的元素
# print(num6 | num7)#并集{'e', 'w', 's', 'x', 'o', 'h', 'l'}  集合a或b中包含的所有元素
# print(num6 & num7)#交集{'e', 'o', 'l', 'h'}集合num6和num7中都包含了的元素
# print(num6 ^ num7)#不同時存在元素 {'m', 'g', 'f', 'd', 'e', 'n'}      
文法:1、num1={values1,,values2}
        2、num1=set(value)
   方法:
      1、添加
       num1.add(s):添加值
       num1.update(s):添加值
      2、删除
        num1.remove(s);删除一個值
        num1.discard(s);删除一個值
        num1.pop();随機删除一個值
      3、計算元素個數
        len(s)
      4、清空集合
        s.clear();
      5、判斷文法是否存在
          "參數" in 變量名
            x    in  s      
num8=set(("xiaoming","xiaohong1","xiaobo"));
#給集合添加一條資訊
num8.add("小明");
print(num8);#{'xiaobo', '小明', 'xiaoming', 'xiaohong1'}
#給集合添加一條資訊,  清單資訊直接添加到集合中,位置是随機放的
num8.update([1,2,3],[4,5,6]);
print(num8);#{'小明', 2, 1, 3, 4, 5, 6, 'xiaobo', 'xiaoming', 'xiaohong1'}
# #删除
# #第一種删除方式
num8.remove("xiaoming");
print(num8);#{1, 2, 3, 4, 5, 6, 'xiaobo', 'xiaohong1', '小明'}
#第二種删除方式
num8.discard("小明");
print(num8);#{'xiaohong1', 2, 1, 3, 4, 'xiaobo', 5, 6}
#的三種删除方式
num8.pop();
print(num8);#{2, 3, 4, 5, 6, 'xiaohong1', 'xiaobo'}
#計算元素個數:len()
num10={"name","age"};
print(len(num10));
# #清空集合
num11={"我是","魏世軒"};
num11.clear();
print(num11)#set()      
1、格式
    字典有每個鍵值:key:value
    每個鍵值用逗号隔開,
    用{}來表示
 2、作用:
    即存儲容器,可以存儲任意類型對象
 3、注意:
    鍵是唯一的,而值是可以任意改變的
    語句前面不能有空格
 4、操作
    增删改查
    字典内置函數
       1、len(num2):鍵值對數量
       2、str(num2):輸入語句
       3、type(num2):傳回變量類型
    字典内置方法
       1、keys():使用者擷取所有的鍵,是一個清單形式
       2、values:用于擷取所有的值,是一個清單形式
       3、items:擷取所有的鍵值對
       4、dict.fromkeys():建立隻有鍵的字典      
num1={'name':'老大','age':'19','hobby':'看書'};
#1、查詢name資訊
print("名字:"+num1['name']);#名字:老大
#2、修改資訊
num1['age']=20;
print("修改年齡:",num1['age']);#修改年齡 20
#3、增加鍵值
num1['gender']='男';
print("性别:"+num1['gender']);#性别:男
#4、删除
 #删除單個鍵值
del num1['name']
print(num1);#{'age': 20, 'gender': '男', 'hobby': '看書'}
#清空字典
num1.clear();
print(num1);#{}
#删除字典
del num1;#删除字典,什麼都不會顯示

#字典内置函數
num2={'name':'老二','age':20,'gender':'男','hobby':'吃'};
#統計字典鍵值對總共數量
print(len(num2));#4
#輸出字典
print(str(num2));#{'name': '老二', 'gender': '男', 'age': 20, 'hobby': '吃'}
#傳回變量類型
print(type(num2));#<class 'dict'>字典類型


#字典内置方法
num3={'name':'老三','age':21,'gender':'女','hobby':'拉'};
print("字典長度 %d"%len(num3));#字典長度 4
#删除字典中所有元素
# num3.clear();
# print("字典删除後的長度 %d"%len(num3));#字典删除後的長度 0
#字典的淺複制
num4=num3.copy();
print("新複制的字典:",num4);#字典: {'hobby': '拉', 'age': 21, 'name': '老三', 'gender': '女'}
#建立一個新字典num3.fromkeys(sel,val);sel字典的鍵,val所有鍵的唯一值
num5=num3.fromkeys(num3);#引用的num3的鍵
print("新的字典為 %s"% str(num5))#新的字典為 {'gender': None, 'name': None, 'hobby': None, 'age': None}
#keys()使用者擷取所有的鍵,是一個清單形式
print(num3.keys());#dict_keys(['age', 'hobby', 'name', 'gender'])
#values:用于擷取所有的值,是一個清單形式
print(num3.values());#dict_values(['拉', 21, '女', '老三'])
#items:擷取所有的鍵值對
print(num3.items());#dict_items([('hobby', '拉'), ('name', '老三'), ('gender', '女'), ('age', 21)])
#dict.fromkeys():建立隻有鍵的字典
print(num3.fromkeys(num3));#{'name': None, 'age': None, 'gender': None, 'hobby': None}