列表 字典 集合 元组的区别

本文详细介绍了Python中字典的基本概念、数据操作方法,包括如何添加、修改、删除及遍历字典数据等。此外还介绍了字典的一些高级用法如get、setdefault等函数的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

字典:存储数据的一种容器,字典中存储的数据都是无序的,可以取数据的时候不能根据索引取,可以根据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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值