Python3.5 字典(Dictionary)

Python 字典

  • 字典是另一种可变容器模型,且可存储任意类型对象。
  • 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:

    d = {key1 : value1, key2 : value2

  • 键必须是唯一的,但值则不必。
  • 值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
  • dic = {'name':'jin','age':18,'sex':'male'}
    print(dic)#{'name': 'jin', 'sex': 'male', 'age': 18}

    ####增####

  • #增
    ##第一种:有则覆盖,无则添加
    # dic = {'name':'jin','age':18,'sex':'male'}
    # dic['hobby'] = 'girl'
    # print(dic)
    #输出{'age': 18, 'hobby': 'girl', 'sex': 'male', 'name': 'jin'}
    # dic['name'] = 'wusir'
    # print(dic)
    #{'age': 18, 'sex': 'male', 'name': 'wusir'}
    #
    ##第二种:serdefult 无则添加,有则不变
    dic = {'name':'jin','age':18,'sex':'male'}
    
    # dic.setdefault('hobby')
    # print(dic)#{'sex': 'male', 'hobby': None, 'age': 18, 'name': 'jin'}
    #'hobby'是键,而不是值,所以字典里会出现'hobby':None
    
    # dic.setdefault('hobby','girl')
    # print(dic)#{'name': 'jin', 'hobby': 'girl', 'age': 18, 'sex': 'male'}
    #键值对 'hobby':girl添加到字典了、原字典没有hobby
    
    # dic.setdefault('name','ritian')
    # print(dic)#{'age': 18, 'name': 'jin', 'sex': 'male'}
    #原字典中有k,name'所以不变

    ###删####

  • #pop  有返回值
    # dic = {'name':'jin','age':18,'sex':'male'}
    # print(dic.pop('age'))##返回所删除键值对的age值18
    # print(dic)
    # dic.pop('hobby')##报错
    # print(dic.pop('hobby',None))##设定返回的键值,当hobby不存在时,返回None
    
    ##clear 清空
    # dic = {'name':'jin','age':18,'sex':'male'}
    # dic.clear()
    # print(dic)#{}清空字典里面所有键值对
    
    ##del
    # dic = {'name':'jin','age':18,'sex':'male'}
    # del dic
    # print(dic)#NameError: name 'dic' is not defined,通过del dic,已删除字典dic
    
    # dic = {'name':'jin','age':18,'sex':'male'}
    # del dic['name']
    # print(dic)#{'age': 18, 'sex': 'male'},删除dic里面‘name’的键值对
    
    # dic = {'name':'jin','age':18,'sex':'male'}
    # print(dic.popitem())
    # print(dic)#每次随机删除dic里面的键值对

    ####改#####

  • # dic = {"name":"jin","age":18,"sex":"male"}
    # dic['name'] = '太白'
    # print(dic)#{'name': '太白', 'sex': 'male', 'age': 18}更改键name的值
    
    # 两个字典的改
    # dic = {"name":"jin","age":18,"sex":"male"}
    # dic2 = {"name":"alex","weight":75}
    # dic2.update(dic)#将dic键值对,覆盖并添加到dic2
    # print(dic)#{'age': 18, 'name': 'jin', 'sex': 'male'}
    # print(dic2)#{'age': 18, 'sex': 'male', 'name': 'jin', 'weight': 75}

    ####查####

# dic = {"name":"jin","age":18,"sex":"male"}

# print(dic['name'])#jin 查键所对应的值jin
# print(dic['name1'])#KeyError: 'name1'如果查看没有的键,则会显示错误信息
# print(dic.get('name'))#jin
# print(dic.get('name1'))#没有此键时默认返回None
# print(dic.get('name1','无此键值对'))#无此键值对,后面可以设置···

##其它方法
#key() values()  item()
dic = {"name":"jin","age":18,"sex":"male"}
# print(dic.keys(),type(dic.keys()))#查看dic的键keys
# print(dic.keys())#
# for i in dic.keys():
#     print(i)
#列出dic的所有键
# for i in dic:
#     print(i)

# li = list(dic.keys())#以列表的形式查看dic键
# print(li)
# print(dic.values())#值

# for i in dic.values():#列出dic的键值
#     print(i)
#
#items 随机打出dic的键值对

# print(dic.items())#打出dic的键值对,顺序随机
#dict_items([('age', 18), ('sex', 'male'), ('name', 'jin')])

# for i in dic.items():#
#         print(i,type(i))
# ('name', 'jin') <class 'tuple'>
# ('sex', 'male') <class 'tuple'>
# ('age', 18) <class 'tuple'>


    

原文地址:http://blog.51cto.com/dongw/2089999

时间: 2024-11-05 11:24:04

Python3.5 字典(Dictionary)的相关文章

Python 字典(Dictionary) get()方法

描述 Python 字典(Dictionary) get() 函数返回指定键的值,如果值不在字典中返回默认值. 语法 get()方法语法: dict.get(key, default=None) 参数 key -- 字典中要查找的键. default -- 如果指定键的值不存在时,返回该默认值值. 返回值 返回指定键的值,如果值不在字典中返回默认值None. 实例 以下实例展示了 get()函数的使用方法: #!/usr/bin/python dict = {'Name': 'Zara', 'A

Swift 集合类型(Collection Type) 之 字典(dictionary)(官方文档翻译及总结)

Swift语言提供经典的数组和字典两种集合类型来存储集合数据.数组和字典中存储的数据值类型必须明确.这意味着我们不能把不正确的数据类型插入其中.Swift对显式类型集合的使用确保了我们的代码对工作所需要的类型非常清楚.也让我们在开发中可以早早的找到任何的类型不匹配错误.如果你用变量(var)创建的集合,这些集合就是可变的(增删改).如果用常理创建的,这些集合是不能被操作的. 注意: 如果集合的元素是不变的,那就将集合声明为常量.这样Swift编译器能对你创建的集合做性能优化. 1. 数组(arr

Python 字典(Dictionary) setdefault()方法

描述 Python 字典(Dictionary) setdefault() 函数和get()方法类似, 如果键不已经存在于字典中,将会添加键并将值设为默认值. 语法 setdefault()方法语法: dict.setdefault(key, default=None) 参数 key -- 查找的键值. default -- 键不存在时,设置的默认键值;存在则不设置. 返回值 该方法没有任何返回值. 实例 以下实例展示了 setdefault()函数的使用方法: #!/usr/bin/pytho

索引器、哈希表Hashtabl、字典Dictionary(转)

一.索引器 索引器类似于属性,不同之处在于它们的get访问器采用参数.要声明类或结构上的索引器,使用this关键字. 示例: 索引器示例代码 /// <summary>/// 存储星期几的类.声明了一个get访问器,它接受字符串,并返回相应的整数/// </summary>public class 星期{    public string[] weeks = { "星期日", "星期一", "星期二", "星期三

c# 关于字典dictionary 按时间排序

上文中说到sortedlist 排序是键排序,不符合项目要求问题,接着使用字典dictionary 对value 为时间按照升序排序,问题解决.中间涉及到linq的使用.还有其他的写法,但发现下边的写法最直观也容易理解.var dicSort = from objDic in dic orderby objDic.Value descending select objDic; 这种写法最简单,也容易理解dicsort 目标字典,objdic对象应该是映射的无需定义的对象,dic 是你自己定义的字

C#中数组、集合(ArrayList)、泛型集合List&lt;T&gt;、字典(dictionary&lt;TKey,TValue&gt;)全面对比

为什么把这4个东西放在一起来说,因为c#中的这4个对象都是用来存储数据的集合--. 首先咱们把这4个对象都声明并实例化一下: //数组 string[] m_Str = new string[5]; //集合 ArrayList m_AList = new ArrayList(); //泛型集合 List<int> m_List = new List<int>(); //字典 Dictionary<int, string> m_Dt = new Dictionary&l

C#字典Dictionary排序(顺序、倒序)

这里是针对.NET版本过低的排序方式,没怎么用过,记录一下: 一.创建字典Dictionary 对象 假如 Dictionary 中保存的是一个网站页面流量,key 是网页名称,值value对应的是网页被访问的次数,由于网页的访问次要不断的统计,所以不能用 int 作为 key,只能用网页名称,创建 Dictionary 对象及添加数据代码如下: Dictionary<string, int> dic = new Dictionary<string, int>(); dic.Add

C#创建安全的字典(Dictionary)存储结构

在上面介绍过栈(Stack)的存储结构,接下来介绍另一种存储结构字典(Dictionary). 字典(Dictionary)里面的每一个元素都是一个键值对(由二个元素组成:键和值) 键必须是唯一的,而值不需要唯一的,键和值都可以是任何类型.字典(Dictionary)是常用于查找和排序的列表. 接下来看一下Dictionary的部分方法和类的底层实现代码: 1.Add:将指定的键和值添加到字典中. public void Add(TKey key, TValue value) {        

Python 字典(Dictionary)day11

字典是另一种可变容器模型,且可存储任意类型对象,如其他容器模型. 字典由键和对应值成对组成.字典也被称作关联数组或哈希表.基本语法如下: dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'} 也可如此创建字典: dict1 = { 'abc': 456 };dict2 = { 'abc': 123, 98.6: 37 }; 每个键与值用冒号隔开(:),每对用逗号,每对用逗号分割,整体放在花括号中({}). 键必须独一无二,但值则不必.