python之字典集合
1、字典的性质
1)字典是无序的数据类型
2)字典是可变的数据类型
3)字典是可以存储多种数据类型的,各元素之间意思各不相同,与列表不同,列表各元素之间意思相近
2、字典的定义
1)使用{}对字典进行定义,{key1:value1,key2:value2,key3:value3,key4:value4...}
2)空字典的定义:{}
3)key:唯一性,不可变性
如果key不唯一,那么字典里的有些元素就会失效,将永远也找不到
key必须为不可变型数据类型
3、字典的操作
字典是可变型的数据类型,故字典操作:增删改查,其他操作,
字典是无序的数据类型字典的存储在内存中是见缝插针,所以不能根据索引来获取元素,所有的操作都是围绕key来的。
1)增:dict[new_key] = new_value
2)删:dict.pop(key)
3)改: dict[old_key] = new_value
4)查:dict[key]
5)其他操作:len()、keys()、values()、items()
len()获取字典的元素个数:len(dict)
keys()获取字典中所有的key输出类似列表的dict_keys类型:dict.keys()
values()获取字典中所有的value输出类似列表的dict_values类型:dict.values()
items()获取字典中所有的key和value,以(key,value)元祖为元素的类似列表的dict_items类型:dict.items()
4、set
1)集合是无序的数据类型
2)集合是可变的数据类型
3)集合内的元素为不可变数据类型
原因:集合中的每一个元素,一旦放到集合中,这个元素就是不能被修改的集合类型要求元素是独一无二的,不能存在相同的元素,但是如果其中的某一个元素是可以被改变的,
它一旦改变之后可能会和其他的元素相同,这样子的话集合类型就会出现错误,所以集合类型要求,该元素不能是可变数据类型
2)集合定义:{1,2,3,4}
3)空集合的定义:set()
4)集合最重要的一个作用:去重
s = {1,2,2,2,2,3,3,3,5,5,5,6}
print(s) #输出{1,2,3,5,6}
还能这样:print(list(set({1,2,3,4,4,4,5,5,6,3,2}))) #输出列表:[1,2,3,4,5,6]
5、数据类型总结
1)可变数据类型与不可变数据类型
可变数据类型:当改变该数据类型对应变量的值时,该数据在内存里面的地址没有改变,那么该数据类型就是可变数据类型,可变数据类型:列表、字典、集合
不可变数据类型:当改变该数据类型对应变量的值时,该数据在内存里面的地址发生了改变,那么该数据类型就是不可变数据类型:字符串、元组、单个的数据类型(整型、浮点型、布尔型)
2)有序数据类型与无序数据类型
有序和无序是对内存来说的,有序是指在内存中可根据数据的第一个元素地址找到下一个元素,可根据索引位置来获取数据中的元素,
无序是在内存中不能根据一个元素的地址找到下一个元素,不能根据索引位置来获取数据中的元素。
有序的数据类型:字符串、列表、元组
无序的数据类型:字典、set