字典的学习

Python中还存在一种数据结构,就是字典,这也是在R中没有见过的,也有可能只是我没有见过,有意思的地方就是字典可以直接通过名字来引用值。字典通常是以“键(key):值(value)”的方式存在,多个键之间用逗号隔开,且没有既定的顺序。键可以是数字、字符串或者元组,但是不能重复。

字典能够通过键轻松查找到其对应的值,而不用事先知晓其位置。

ages = {'Li':31, 'Ming':24, 'He':54}
print(ages['He'])

字典的创建还可以使用dict函数进行,例如:

g = [('Li', 'F'), ('Ming', 'F'), ('He', 'M')]
gender = dict(g)
print (gender)
#结果如下:
{'Li': 'F', 'He': 'M', 'Ming': 'F'}

或者:

gender = dict(Li = 'F', Ming = 'F', He = 'M')

字典的基本操作包括:

len(d):字典中项(键-值)的个数;

d[k] = v:将值v关联到键k上,若键k不存在,可自动添加,列表则不可直接通过位置赋值添加;

del d[k]:删除键为k的项;

k in d:检查字典中是否存在键为k的项;

%(k)s:字典的格式化字符,k代表键,只要给出的键在字典中存在,常用语模版系统;

d.clear():删除字典中所有项,有意思的是如果删除一个字典的项,其他与其关联的字典中的项也会被删除;

d.copy():复制字典,也称为浅复制,若某个值被原始修改(如d.remove()),原始字典也会改变;

d.deepcopy():深复制,避免上述问题;

d.fromkeys(['key1','key2'...]):使用给定的键创建新的字典,每个键默认对应None,也可更改;

d.get('key'):获取键对应的值,但是如果键不存在也不会出错,适合实际应用;

d.has_key('key'):返回T或者F,查找是否存在特定的键;

d.pop(key):获得键对应的值,并将对应的项删除;

d.popitem():随机弹出一个项,类似于list.pop(弹出最后一个元素),但是字典没有顺序,所以是随机的项;

d.setdefault(key, default):这个功能比较有意思,在字典中没有给定键时,设置其默认值(不指定即为None),如果字典中存                                             在给定键,则返回其对应值,且不改变字典;

d.updata(d2):利用一个字典更新另一个字典。





你可能感兴趣的:(Python初学,Python)