字典类型(dict)与set集合以及各数据类型之间的转换

dict与list的优缺点:

list:1、查找或插入数据会随着数据的增加而变慢

         2、占用空间小,内存浪费少

dict:1、查找或插入数据快,不会随着数据的增加而变慢

          2、占用空间大,内存浪费多

1、字典(dict)

dict概述:使用键值对(key-value)方式存储数据
dict中key的特点:
                     1、key必须是唯一的
                     2、key值必须是不可变的数据类型:int float str tuple
                     3、list是可变的,不能作key值使用
dict中value的特点:
                     value的类型可以是任意类型的,可以重复
 dict的特点:
                     1、无序的集合
                     2、可变的集合

1.1、取值

1、print(字典名[key])            # 可以打印出key所对应的value的值    

      注:         当所输入的key在字典中不存在时,报错

2、字典名.get(key)            该方法同样可以的到字典中key所对应的value的值

     注:           当输入的key值不存在时,返回None

1.2、字典的操作

1.2.1、增

格式:字典名[新的key] = value

1.2.2、删

格式:字典名.pop(key)           #   将key移除,对应的value会自动删除

1.2.3、改

格式:字典名[新的key] = 新的value

1.3、字典的遍历

最简单的方式:

             for i in dict:

                      print(i, dict[i])     # 其中i为key值

1、字典名.keys:返回一个key的列表

2、字典名.values:返回一个value的列表

3、字典名.items():返回一个列表,该列表张的元素为元组类型

      元组的第一个元素为key,元组的第二个类型为value

注:       当list中的元素为元组类型时:for后面的变量可以写多个,用逗号隔开, 每个变量分别对应元组相应下标的元素

               使用该方式时,不建议元组的元素个数过多

例:          for key, value in dict13.items():

                       print(key, value)       #该方法可将字典对应的key 与value 一一打印出来

2、set集合

特点:1、无序的

            2、元素不重复的集合

 set:可以认为dict的key的集合

2.1、创建 

创建set需要将一个list或者tuple或者dict或string作为参数传入创建 ,传入的参数必须是集合类型

例:

         set1 = set([1, 2, 2, 2, 3, 4, 4, 4, 4, 5])

         print(set1)               # {1, 2, 3, 4, 5}   重复的元素只保留一个   若以字典创建,则只保留key值

2.2、set的增加与删除

注:set与字典是无序的,不能通过下标来操作

2.2.1、增

1、set.add(obj)   添加数据,add添加数据时,只能添加不可变的数据类型的数据

2、set.update(iter) 添加数据,将iter集合中的元素打碎插入

2.2.2、删

set.remove(ele)   ele为set集合中的数据,当数据不存在时,删除会报错

2.3、set的遍历

for i in set:

     print(i)

2.4、set集合的操作

set10 = set([1, 2, 3, 4, 5])                set11 = set([4, 5, 6, 7, 8])

1、交集     print(set10 & set11)      # {4, 5}

2、并集     print(set10 | set11)       # {1, 2, 3, 4, 5, 6, 7, 8}

3、补集     print(set10 ^ set11)  print(set11 ^ set10)    # {1, 2, 3, 6, 7, 8}

4、差集     print(set10 - set11)        #  {1, 2, 3}

                  print(set11 - set10)        #  {6, 7, 8}

3、数据类型转换

1、list -> set

     set1 = set([1, 2, 3])

2、tuple -> set

      set2 = set((1, 2, 3))

3、set -> list

      list1 = list(set1)

4、set -> tuple

      tuple1 = tuple(set1)

5、list -> tuple

      tuple2 = tuple(list1)

6、tuple -> list

      list2 = list(tuple1)

你可能感兴趣的:(Python)