dict
dict创建:
Wendao = {1:88,2:77,3:66}#大括号
print(Wendao[2])#中括号,输入key值返回value
dict内是否存在对应元素的检验:
1.
1 in Wendao#返回True
2.
Wendao.get(1,-1)#返回88,如果不存在此key键,则返回值-1
删除:
Wendao.pop(3)#返回删除的value值
Wendao.pop(1)#需要最少一个参数
结构: {key :value,……}
key 值作为索引不可变,value值可以变动
set
创建:
s = set([1,3,1,2])#无顺序,重复元素自动过滤掉
print(s)
增删:
s.add(88)
s.remove(88)
set可以看做是一个无序且不重复的集合,集合之间可以进行并集和交集运算:
s1 = set([1,2,3])
s2 = set([2,3,4])
s1 & s2#返回{2,3}
s1 | s2#返回{1,2,3,4}
set原理与dict相似,只是没有相对应的value值而已,因而set内不能有可变变量,比如list
`s1 = set ([1,2,['a','b']])`#报错信息:TypeError: unhashable type: 'list'
可变对象与不可变对象
调用方法对对象进行操作,可变对象内部值发生改变,而不可变对象在不重新赋值的情况下内部值不会变化,而是在调用自身方法的同时创建新的对象并返回值,保证了其不变性
a = 'abc'
a.replace('a','A')
print(a)#返回abc
a = 'abc'
b=a.replace('a','A')
print(a)#返回abc
print(b)#返回Abc
a = 'abc'
a=a.replace('a','A')
print(a)#返回Abc