python中定义字典数据类型使用什么符号_python学习——字典、集合、数据类型总结...

字典

可变类型数据:列表、字典、集合(可以增删查改)

dict类型,{}表示,由键值对组成{key:value}

字典没有下标,键就是字典的索引

dic = {"name": "小明", "age": 18, "phone": "18900000000"}

规范:①键不能重复

②字典中的键只能使用不可变类型的数据(通常是字符串) (不可变类型:数值,字符串,元组)

③键对应的值可以是任何数据类型

1、索引取值

dic = {"name": "小明", "age": 18, "phone": "18900000000"}print(dic["name"])

结果:小明

2、增删查改

①添加元素

1、添加单个元素

dic = {"a": 11, "b": 22, "c": 33}

dic["d"] = 99

print(dic)

结果:{'a': 11, 'b': 22, 'c': 33, 'd': 99}

2、update:添加多个元素

dic = {"a": 11, "b": 22, "c": 33}

dic.update({"aa": 111, "bb": 222})print(dic)

结果:{'a': 11, 'b': 22, 'c': 33, 'aa': 111, 'bb': 222}

②修改元素

dic = {"a": 11, "b": 22, "c": 33}

dic["c"] = 99

print(dic)

结果:{'a': 11, 'b': 22, 'c': 99}

③删除元素

1、pop:删除键所对应的键值对(返回键对应的值)

dic = {"a": 11, "b": 22, "c": 33}

res = dic.pop("b")

print(res)

print(dic)

结果:

22

{'a': 11, 'c': 33}

2、popitem:删除最后一个添加的键值对(python3.5之后),以元组形式返回键值对

dic = {"a": 11, "b": 22, "c": 33}

res = dic.popitem()

print(res)

print(dic)

结果:

('c', 33)

{'a': 11, 'b': 22}

④查找元素

1、通过键进行索引取值

dic = {"a": 11, "b": 22, "c": 33}

res= dic["c"]print(res)

结果:33

2、get:通过键获取对应的值

dic = {"a": 11, "b": 22, "c": 33}

res= dic.get("c")print(res)

结果:33

3、其他方法

①获取字典中所有的键

dic = {"a": 11, "b": 22, "c": 33}

res=dic.keys()print(res)print(list(res)) #可以转化成列表形式,看起来美观

结果:

dict_keys(['a', 'b', 'c'])

['a', 'b', 'c']

②获取字典中所有的值

dic = {"a": 11, "b": 22, "c": 33}

res = dic.values()

print(res)

print(list(res))

结果:

dict_values([11, 22, 33])

[11, 22, 33]

③items():获取字典的键值对,每个键值对作为一个元组

dic = {"a": 11, "b": 22, "c": 33}

print(dic.items())

print(list(dic.items()))

结果:

dict_items([('a', 11), ('b', 22), ('c', 33)])

[('a', 11), ('b', 22), ('c', 33)]

4、关于字典定义的扩展方法

①{key:value}形式定义

dic = {"a": 11, "b": 22, "c": 33}

②使用dict转换[(key,value),(key,value)]这种数据类型

dic2 = dict([('a', 11), ('b', 22), ('c', 33), ('d', 44)])print(dic2)

结果:{'a': 11, 'b': 22, 'c': 33, 'd': 44}

③dict(key=value,key=value)

#第三种:dict(key=value,key=value)

dic3 = dict(name="musen", age=18, gender="男")print(dic3)

结果:{'name': 'musen', 'age': 18, 'gender': '男'}

集合

集合:set类型,通过{}表示,{value,value}

集合的特性:

①不能存在重复数据

set2 = {1, 1, 1, 1, 2, 2, 3, 4, 5, 6, 3, 2, 4, 5, 6}print(set2)#结果:{1, 2, 3, 4, 5, 6}

②数据为不可变类型,但集合是可变类型

③无序的(和字典一样),没有下标索引

④集合是可变类型的数据

⑤增删查改

集合的应用:

1、对数据去重

#字符串去重

s = "dfghjkldfghjkdfghjk"s1= set(s) #将字符串转为集合(去重)

s2 = "".join(s1) #集合重新转为字符串

print(s2)

结果:fgdklhj

#列表去重

li = [1, 1, 1, 2, 3, 4, 5]

res=list(set(li))print(res)

结果:[1, 2, 3, 4, 5]

2、把数据放在集合里,用来区分数据是否可变,可变运行会报错

s6 = {111,99.99,True,"python",(1,2)} #不报错

s7 = {{1,2,3}} #报错

数据类型总结

#字符串不可变类型举例

n = 'python'res= n.replace("p","ttt")print(res)print(n)

结果:tttython

python

数据的嵌套

#列表里嵌套列表

li = [[1, 2, 3], [1, 2, 3, [1, 'python', '333']]]

res= li[1][3][1]print(res)

结果:python

#列表嵌套字典

li2 = [{"name": "小明", "info": [1, 2, 3, 4]}, {"name": "无名"}, {"name": "欧阳"}]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值