python中映射类型有哪些_Python的数据类型——映射(字典)

字典

前面曾经说过的访问模型:直接存取,序列,映射。字典就是一种映射模式(mapping

type)。

一个字典对象是可变的,他是一个容器类型,能存

储任意个Python对象,也包括其他容器类型。字典类型和序列类型的容器类的区别是存储和访问数据的方式不同。序列只用数字类型的键(从序列的开始按数

字顺序索引)。而字典这种映射类型可以用其他类型做键,一般最常用的是字符串做键(keys)。

创建字典:一个字典条目的语法格式是 键:值,多条字典条目包含在{}内。

>>> dict1 = {'name':'earth','port':80}

>>> dict1

{'name': 'earth', 'port': 80}

>>>

也可以先建一个空的字典,然后再往里面加元素:

>>> d = {}

>>> d['name'] = 'Gumby'

>>> d['age'] = 42

>>> d

{'age': 42, 'name': 'Gumby'}

>>>

也可以用dict()创建

>>> fdict = dict((['x',1],['y',2]))

>>> fdict

{'y': 2, 'x': 1}

>>>

下面看如何访问字典中的元素:

>>> dict2 = {'name':'earth','port':80}

>>> for key in dict2.keys():

print 'key=%s,value=%s' %(key,dict2[key])

key=name,value=earth

key=port,value=80

>>> for key in dict2:

print 'key=%s,value=%s' %(key,dict2[key])

key=name,value=earth

key=port,value=80

>>> dict2['name']

'earth'

>>> print 'host %s is running on port %d' %

(dict2['name'],dict2['port'])

host earth is running on port 80

>>>

如何更新字典:

添加一个新数据项(即一个键-值对)

>>> dict2 = {'name':'earth','port':80}

>>> dict2

{'name': 'earth', 'port': 80}

>>> dict2['name'] = 'venus'

>>> dict2['port'] = 6969

>>> dict2['IP'] = '10.1.14.84'

>>> dict2

{'IP': '10.1.14.84', 'name': 'venus', 'port': 6969}

>>>

实现了更新原有的和添加新的键-值对。

删除字典元素和字典:

>>> dict2

{'IP': '10.1.14.84', 'name': 'venus', 'port': 6969}

>>> del dict2['name']

>>> dict2

{'IP': '10.1.14.84', 'port': 6969}

>>> del dict2

>>> dict2

Traceback (most recent call last):

File "", line 1, in

dict2

NameError: name 'dict2' is not defined

>>>

如果想只清空字典,而不是销毁字典,可用clear()

>>>dict2.clear()

>>>dict2

{}

>>>

另外字典还有好多内置的函数:

>>> dir(dict)

['__class__', '__cmp__', '__contains__', '__delattr__',

'__delitem__', '__doc__', '__eq__', '__format__', '__ge__',

'__getattribute__', '__getitem__', '__gt__', '__hash__',

'__init__', '__iter__', '__le__', '__len__', '__lt__', '__ne__',

'__new__', '__reduce__', '__reduce_ex__', '__repr__',

'__setattr__', '__setitem__', '__sizeof__', '__str__',

'__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'has_key',

'items', 'iteritems', 'iterkeys', 'itervalues', 'keys', 'pop',

'popitem', 'setdefault', 'update', 'values']

>>>

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、付费专栏及课程。

余额充值