python映射的主要特点_Python入门 4——字典及其映射

一、字典dict基本概念

字典是一种可变容器模型,且可存储任意类型变量,字典的每个键值(key=>value)对可以用冒号(:)来分割,每个对之间用逗号(,)来分割,整个字典包括在花括号({})中。

1、什么是序列?什么是字典?

name=['wish','alibaba','amazon']

rank=[3,2,1]

虽然序列是有顺序的,但是不能直接把“name”和“rank”关联起来,这里只是顺序对上,并没有一对一的关系存在。

dic={'wish':3,'alibaba':2,'amazon':1}

print(dic,type(dic))

字典用{}来表示,按照key:value来表示字典中的元素,其中key是键,value是值,key-value是赋值对,这里的dic就是一个字典类型的变量。

对于字典的索引,可以利用字典中的key去做索引:

a=dic['amazon']

print(a)

2、字典的特点及基本操作

键值对,一定共同出现,不能只有一个:

dic={'a':1,'b':2,'c':3}

不允许同一个键出现两次,创建时如果同一个键被赋值两次,那么后一个值会被记住:

dic={'a':1,'a':2}

print(dic)

key必须是不可变的对象,value则可以是任意对象:数值、字符串、序列、字典:

dic={'var1':1,'var2':'hello','var3':[1,2,3],'var4':{'a':1,'b':2}}

print(dic)

字典是一个无序集合,序列由于没有key来做对应,所以以顺序来对应值,序列是有顺序的,但是字典没有。

添加/修改/删除元素:

dic={'var1':1,'var2':'hello','var3':[1,2,3],'var4':{'a':1,'b':2}}

print(dic)

dic['var5']='amazon' # 添加一个元素

dic['var4']='wish' # 修改一个元素

del dic['var1'] # 删除一个元素

print(dic)

清空词典所有条目:

dic.clear()

print(dic)

除了上述方法,还可以用dict()来进行字典的声明:

dic=dict(amazon=10,alibaba='alibaba',wish=[1,2,3])

print(dic)

lst1=[('amazon','FBA'),('wish','eBay')]

lst2=[['a',1],['b',2]]

dic1=dict(lst1)

dic2=dict(lst2)

print(dic1,dic2)

如果只有key,可以通过如下方式直接生成一个字典:

keys=['amazon','ebay','wish']

dic1=dict.fromkeys(keys)

dic2=dict.fromkeys(keys,'e-commerce')

print(dic1,dic2)

二、字典的常用操作

1、更新/合并字典

dict.update()方法可以用来更新/合并一个字典,把第二个字典合并到第一个字典中去,这样就改变了第一个字典:

dic1={'amazon':1,'ebay':2}

dic2={'alibaba':3,"wish":4}

dic1.update(dic2)

print(dic1,dic2)

2、计算字典长度:

print(len(dic1))

3、成员判断

注意,在字典中,只能用key来判断该成员是否包含在字典中,而不能用value来判断该成员是否包含在字典中:

dic={'a':1,"b":2}

print('a' in dic) # key来判断

print(1 in dic) # value来判断

三、字典的元素访问和遍历

第一种访问方式就是用key作为指向来访问(指向的key必须要存在),在上文中已经介绍过了。

对于嵌套的字典该如何读取:

sample=[{'name':'shop1','location':'shanghai','information':{'product':'something1','number':1}},

{'name':'shop2','location':'shanghai','information':{'product':'something1','number':2}},

{'name':'shop3','location':'shanghai','information':{'product':'something1','number':3}}]

print(sample[1]['information']['product'])

直接查看key的value:(如果没有值的话会导出一个nothing)

sample={'name':'amazon'}

print(sample.get('name'))

输出字典中所有的key:

sample={'name':'amazon','city':'shanghai'}

print(sample.keys(),type(sample.keys()))

输出字典中所有的value:

sample={'name':'amazon','city':'shanghai'}

print(sample.values(),type(sample.values()))

输出字典中所有的元素:

sample={'name':'amazon','city':'shanghai'}

print(sample.items(),type(sample.items()))

字典的元素遍历(这里用到的条件/循环语句会在下一篇文章中介绍):

sample={'name':'amazon','city':'shanghai','information':{'product':'something','number':1}}

for keys in sample:

print(keys)

sample={'name':'amazon','city':'shanghai','information':{'product':'something','number':1}}

for values in sample.values():

print(values)

sample={'name':'amazon','city':'shanghai','information':{'product':'something','number':1}}

for keys in sample:

print(sample[keys])

sample={'name':'amazon','city':'shanghai','information':{'product':'something','number':1}}

for (key,value) in sample.items():

print('key为:%s,values为:%s'%(key,value))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中的映射是指字典(dict)类型,是一种可变的、无序的键值对集合。字典中的键(key)都必须是不可变类型(例如字符串、数字、元组等),而值(value)则可以是任何类型Python中的映射类型操作符主要有以下几种: 1. in:用于判断某个键是否存在于字典中,返回布尔值。 2. del:用于删除字典中的某个键值对。 3. len:用于返回字典中键值对的数量。 4. keys:用于返回字典中所有键的列表。 5. values:用于返回字典中所有值的列表。 6. items:用于返回字典中所有键值对的列表,每个键值对以元组的形式表示。 7. clear:用于清空字典中的所有键值对。 8. get:用于获取字典中某个键对应的值,如果键不存在则返回默认值(如果指定了默认值)或者None。 9. setdefault:用于获取字典中某个键对应的值,如果键不存在则设置默认值并返回默认值。 下面是一些示例代码: ```python # 创建一个字典 dict1 = {'name': 'Alice', 'age': 18, 'gender': 'female'} # 判断某个键是否存在 print('name' in dict1) # True print('height' in dict1) # False # 删除某个键值对 del dict1['age'] print(dict1) # {'name': 'Alice', 'gender': 'female'} # 返回键值对数量 print(len(dict1)) # 2 # 返回所有键 print(dict1.keys()) # dict_keys(['name', 'gender']) # 返回所有值 print(dict1.values()) # dict_values(['Alice', 'female']) # 返回所有键值对 print(dict1.items()) # dict_items([('name', 'Alice'), ('gender', 'female')]) # 清空字典 dict1.clear() print(dict1) # {} # 获取某个键对应的值 dict2 = {'name': 'Bob', 'age': 20} print(dict2.get('name')) # 'Bob' print(dict2.get('height')) # None print(dict2.get('height', 'unknown')) # 'unknown' # 获取某个键对应的值,如果键不存在则设置默认值并返回默认值 print(dict2.setdefault('name', 'unknown')) # 'Bob' print(dict2.setdefault('height', 175)) # 175 print(dict2) # {'name': 'Bob', 'age': 20, 'height': 175} ``` 以上就是Python映射类型操作符的概念和使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值