字典:存储数据的一种容器,字典中存储的数据都是无序的,可以取数据的时候不能根据索引取,可以根据key(键)取出对应的value(值) 键必须是唯一的,不可变的
dict_1 = {
#key:value
'name':'zhangsan',
'age':22,
'phone':110,
'height':180,
'weight':80,
'love':'write code'
}
print dict_1
#向字典中添加数据
#字典[key] = value
#如果key在字典中,修改key对应的数据
#如果key不在字典中,添加数据
dict_1['name'] = 'lisi'
print dict_1
dict_1['sex'] = 'nan'
print dict_1
#字典中存储的数据都是无序的,可以取数据的时候不能根据索引取,可以根据key(键)取出对应的value(值)
#注意:取数据的时候如果使用下面这种方式,必须保证key在字典中,如果不在,会造成下面这种错误
#keyError:'hsjhd'
# s = dict_1['hsjhd']
s = dict_1['love']
print s
#get()函数根据key取数据,如果key不存在,返回一个None值
s_1 = dict_1.get('hsjhd')
print s_1
#pop()从字典中取出对应key的数据,并且从字典中移除该数据
s = dict_1.pop('age')
print s,dict_1
#popitem()随机从字典中移除某个key,value
#使用场景:一个一个的把字典中的数据移除,可以利用while循环+popitem函数,实现一个一个移除
s = dict_1.popitem()
print s
print dict_1
#clear()函数移除字典中的所有的key,value
dict_1.clear()
print dict_1
#keys()函数,获取字典中所有的键
#values()函数,获取字典中所有的值
#获取到的键和值,都是以列表的形式返回
keys = dict_1.keys()
print keys
values = dict_1.values()
print values
#遍历字典的第一种方式
for k in keys:
#遍历所有的key键,根据key键取出字典中的值
v = dict_1[k]
print k,v
#for 循环遍历循环字典的第二种方式
items = dict_1.items()
print items
for key,value in items:
print key,value
dict_1 = {}
s = ['age','name','phone']
#fromkeys()会根据s列表中的数据作为key生成一个新的字典,所有的key对应的值默认为None
#1.所有key的列表
#2.所有key对应的默认值
dict_2 = dict_1.fromkeys(s,'default')
print dict_2
#has_key()判断字典中是否有某个key
#有返回True 没有返回False
rs = dict_2.has_key('s')
print rs
#向字典中添加数据 setdefaulte()
#添加一个新的key,默认key对应的值为None
#如果填两个参数,添加一个新的key,对应的值为第二个参数
dict_2.setdefault('sex','nan')
print dict_2
#update()函数、如果dict_3中的key在dict_2中也有,会把dict_2中key对应的数据更新,如果没有,添加到dict_2中
dict_3 = {'a':1,'b':2,'name':'zhangsan','age':22}
dict_2.update(dict_3)
print dict_2
元组:可以存储数据,一旦元组找到那个存储的数据确定后,就不可以在进行增删改了
集合:存储数据的一种方式,集合中的数据是无序的,集合中没有重复的数据,数据一旦确定后就不能更改
列表:是一个可变的容器,具有增删改查的功能,可以存储任意类型的数据,存储数据有顺序,可以根据索引取数据
#声明列表,初始化一个列表
list_1 = ['hello',1,2,3,'world','True']
#向列表中添加数据
#1.append()追加数据,会把数据放在列表末尾
list_1.append('nnnn')
#2.insert() 在指定的位置之前插入数据
#参数1:指定插入的索引位置,超出最大索引,会把数据添加到列表最后,如果是负值从后向前 传参数
#参数2.要插入的数据
list_1.insert(2,'next')
print list_1
#修改列表中的数据
#根据索引修改列表中的数据
list_1[1] = 'aaa'
print list_1
#IndexError: list assignment index out of range表明索引超出了最大索引
# #删除列表中的数据
# #1.根据索引删除列表中的数据
# del list_1[2]
# #2.remove()根据内容删除
list_1.remove('aaa')
print list_1
# #3.pop()函数,删除最后一条数据
# list_1.pop()
# print list_1
# #取出最后一条数据并从列表中删除
s = list_1.pop()
print s