python 字典

简介: 字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中。dict = {'Name': 'soyoungboy', 'Age': 27, 'School': 'Xian Univers...

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中。

dict = {'Name': 'soyoungboy', 'Age': 27, 'School': 'Xian University of Finance and Economics'};

print "dict['Name']: ", dict['Name'];
print "dict['Age']: ", dict['Age'];
print "dict['School']", dict['School']

结果:

dict['Name']:  soyoungboy
dict['Age']:  27
dict['School'] Xian University of Finance and Economics

修改字典

#!/usr/bin/python

dict = {'Name': 'soyoungboy', 'Age': 27, 'School': 'Xian University of Finance and Economics'};

dict['Age'] = 8;  # 修改字段
dict['Class'] = "First";  # 新增字段

print "dict['Age']: ", dict['Age'];
print "dict['Class']: ", dict['Class'];
print dict

结果:

dict['Age']:  8
dict['Class']:  First
{'School': 'Xian University of Finance and Economics', 'Age': 8, 'Name': 'soyoungboy', 'Class': 'First'}

删除字典元素

#!/usr/bin/python
# coding=utf-8

dict = {'Name': 'soyoungboy', 'Age': 27, 'School': 'Xian University of Finance and Economics'};

dict['Age'] = 8;  # 修改字段
dict['Class'] = "First";  # 新增字段

print dict
del dict['Age']  # 删除age字段
print "删除Age后的dict = ", dict
dict.clear();  # 清空dict
print dict;

结果:

{'School': 'Xian University of Finance and Economics', 'Age': 8, 'Name': 'soyoungboy', 'Class': 'First'}
删除Age后的dict =  {'School': 'Xian University of Finance and Economics', 'Name': 'soyoungboy', 'Class': 'First'}
{}

字典健特性:

  1. 不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住;
  2. 键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行;

 

字典内置函数&方法

内置函数demo:

#!/usr/bin/python
# coding=utf-8

dict = {'Name': 'soyoungboy', 'Age': 27, 'School': 'Xian University of Finance and Economics'};
dict1 = {'Name': 'soyoungboy', 'Age': 27, 'School': 'Xian University of Finance and Economics'};
dict2 = {'Name': 'boy', 'Age': 25, 'School': 'Xian University of Finance and Economics'};
# 如果两个字典的元素相同返回0,如果字典dict1大于字典dict2返回1,如果字典dict1小于字典dict2返回-1
print cmp(dict, dict1);
print cmp(dict1, dict2);
print cmp(dict2, dict1);
# 计算字典元素个数,即键的总数。
print len(dict);
print str(dict);
# 返回输入的变量类型,如果变量是字典就返回字典类型。
print type(dict['Name'])
print type(dict['Age'])

结果:

0
1
-1
3
{'School': 'Xian University of Finance and Economics', 'Age': 27, 'Name': 'soyoungboy'}
<type 'str'>
<type 'int'>

内置方法demo:

#!/usr/bin/python
# coding=utf-8

dict = {'Name': 'soyoungboy', 'Age': 27, 'School': 'Xian University of Finance and Economics'};
print dict.copy();  # 返回一个字典的浅复制
fromkeys = dict.fromkeys(dict)  # 创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值
print fromkeys;
dict_fromkeys = dict.fromkeys(dict, 'I Love John')  # 创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值
print dict_fromkeys;
dict = {'Name': 'soyoungboy', 'Age': 27, 'School': 'Xian University of Finance and Economics'};
print dict.get('Name', 'defaultValue');  # 返回指定键的值,如果值不在字典中返回default值,其实就是根据键获取值
print dict.get('name', 'defaultValue');
print dict.items();  # 以列表返回可遍历的(键, 值) 元组数组
print dict.keys();  # 以列表返回一个字典所有的键
dict.setdefault('Height', 'defaultValue');  # 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
print dict;
dict = {'Name': 'soyoungboy', 'Age': 27, 'School': 'Xian University of Finance and Economics'};
dict2 = {'Name': 'john', 'Age': 27, 'School': 'South China Agricultural University'};
dict.update(dict2);  # 把字典dict2的键/值对更新到dict里
print dict;
print dict.values();  # 以列表返回字典中的所有值

结果:

{'School': 'Xian University of Finance and Economics', 'Age': 27, 'Name': 'soyoungboy'}
{'School': None, 'Age': None, 'Name': None}
{'School': 'I Love John', 'Age': 'I Love John', 'Name': 'I Love John'}
soyoungboy
defaultValue
[('School', 'Xian University of Finance and Economics'), ('Age', 27), ('Name', 'soyoungboy')]
['School', 'Age', 'Name']
{'School': 'Xian University of Finance and Economics', 'Age': 27, 'Name': 'soyoungboy', 'Height': 'defaultValue'}
{'School': 'South China Agricultural University', 'Name': 'john', 'Age': 27}
['South China Agricultural University', 'john', 27]

 

相关文章
|
17天前
|
存储 开发者 Python
Python中的collections模块与UserDict:用户自定义字典详解
【4月更文挑战第2天】在Python中,`collections.UserDict`是用于创建自定义字典行为的基类,它提供了一个可扩展的接口。通过继承`UserDict`,可以轻松添加或修改字典功能,如在`__init__`和`__setitem__`等方法中插入自定义逻辑。使用`UserDict`有助于保持代码可读性和可维护性,而不是直接继承内置的`dict`。例如,可以创建一个`LoggingDict`类,在设置键值对时记录操作。这样,开发者可以根据具体需求定制字典行为,同时保持对字典内部管理的抽象。
|
1月前
|
存储 索引 Python
python字典:怎么取出key对应的值
python字典:怎么取出key对应的值
35 0
C4.
|
1月前
|
存储 Python
Python的字典
Python的字典
C4.
16 0
|
1月前
|
存储 数据库 索引
Python新手常见问题一:列表、元组、集合、字典区别是什么?
本文针对Python编程新手常遇到的问题,详细阐述了列表(List)、元组(Tuple)、集合(Set)和字典(Dictionary)这四种数据结构的核心区别。列表是一种有序且可变的数据序列,允许元素重复;元组同样有序但不可变,其内容一旦创建就不能修改;集合是无序、不重复的元素集,强调唯一性,主要用于数学意义上的集合操作;而字典则是键值对的映射容器,其中键必须唯一,而值可以任意,它提供了一种通过键查找对应值的有效方式。通过对这些基本概念和特性的对比讲解,旨在帮助初学者更好地理解并运用这些数据类型来解决实际编程问题。
37 1
|
8天前
|
安全 Python
python字典的内置方法
Python字典主要方法包括:`keys()`(返回所有键)、`values()`(返回所有值)、`items()`(返回所有键值对)、`get()`(安全取值,键不存在时返回默认值)、`setdefault()`(设置默认值)、`update()`(合并字典)、`pop()`(删除并返回值)、`clear()`(清空字典)、`copy()`(浅拷贝)、`fromkeys()`(新建字典并设置默认值)、`popitem()`(随机删除键值对)。
8 0
|
17天前
|
存储 Java 程序员
【Python】6. 基础语法(4) -- 列表+元组+字典篇
【Python】6. 基础语法(4) -- 列表+元组+字典篇
40 1
|
17天前
|
存储 Python
python基础篇: 详解 Python 字典类型内置方法
python基础篇: 详解 Python 字典类型内置方法
26 1
|
22天前
|
C语言 Python
Python字典推导式:高效构建字典的利器
在Python编程中,字典推导式(Dictionary Comprehension)是一种强大的构造工具,它允许我们以简洁的方式从现有可迭代对象创建新的字典。通过字典推导式,我们可以轻松地对数据进行转换、过滤或重新组织,以符合特定的需求。本文将深入探讨字典推导式的概念、语法和应用场景,帮助读者更好地掌握这一高效的编程工具。
|
28天前
|
Python
深入解析Python中的字典推导式
深入解析Python中的字典推导式
|
1月前
|
存储 Java Python
助你更好的理解 Python 字典
助你更好的理解 Python 字典

热门文章

最新文章