zoukankan      html  css  js  c++  java
  • 字典 dict

      字典是python中唯一的映射类型,python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的。可哈希表示key必须是不可变类型,如:数字、字符串、元组。

      字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

    dic['li'] = ["a","b","c"]print(dic) setdefault 在字典中添加键值对,如果只有键那对应的值是none,但是如果原字典中存在设置的键值对,则他不会更改或者覆盖。
    # dic.setdefault('k','v')
    # print(dic)  # {'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v'}
    # dic.setdefault('k','v1')  # {'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v'}
    # print(dic)

    dic['name'] = 'jinxin'
    print(dic)
    update 将dic1 里面的键值对覆盖并添加到dic里面 dic.update(dic1)
    print(dic) print(dic1)

    dic_pop = dic.pop("a",'无key默认返回值') # pop根据key删除键值对,并返回对应的值,如果没有key则返回默认返回值v 
    del dic["name"]  # 没有返回值。print(dic)
    
    dic_pop1 = dic.popitem()  # 随机删除字典中的某个键值对,将删除的键值对以元祖的形式返回print(dic_pop1)  # ('name','jin')
    
    dic_clear = dic.clear()  # 清空字典print(dic,dic_clear)  # {} Non

    value1 = dic["name"]  # 没有会报错

    value2 = dic.get("djffdsafg","默认返回值") # 没有可以返回设定的返回值

    # dic = {"name":"jin","age":18,"sex":"male"}
    # for key in dic:
    #     print(key)
    # for item in dic.items():
    #     print(item)
    # for key,value in dic.items():
    #     print(key,value) 

    其他操作。

    # item = dic.items()
    # print(item,type(item))  # dict_items([('name', 'jin'), ('sex', 'male'), ('age', 18)]) <class 'dict_items'>
    # 这个类型就是dict_items类型,可迭代的
    
    # keys = dic.keys()
    # print(keys,type(keys))  # dict_keys(['sex', 'age', 'name']) <class 'dict_keys'>
    
    # values = dic.values()
    # print(values,type(values))  # dict_values(['male', 18, 'jin']) <class 'dict_values'> 同上

    字典的循环

    # dic = {"name":"jin","age":18,"sex":"male"}
    # for key in dic:
    #     print(key)   # name age sex
    # for item in dic.items():
    #     print(item)  #('name', 'jin')('age', 18)('sex', 'male')
    # for key,value in dic.items():
    #     print(key,value)  #name  jinage 18  sex male
    for i in dic.values():
      print(i) #jin 18 male

    三,其他(for,enumerate,range)。

    for循环:用户按照顺序循环可迭代对象的内容。

    复制代码
    msg = '老男孩python是全国范围内最好的python培训机构'
    for item in msg:
        print(item)
    
    li = ['alex','银角','女神','egon','太白']
    for i in li:
        print(i)
    
    dic = {'name':'太白','age':18,'sex':'man'}
    for k,v in dic.items():
        print(k,v)
    复制代码

    enumerate:枚举,对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值。

    复制代码
    li = ['alex','银角','女神','egon','太白']
    for i in enumerate(li):
        print(i)                        #(0,“alex”)(1,“银角”)...
    for index,name in enumerate(li,1):
        print(index,name)               #1 alex   2 银角 ...
    for index, name in enumerate(li, 100):  # 起始位置默认是0,可更改
        print(index, name)    
    复制代码

    range:指定范围,生成指定数字。

    for i in range(1,10):  #左包右不包
        print(i)
    
    for i in range(1,10,2):  # 步长
        print(i)
    
    for i in range(10,1,-2): # 反向步长
        print(i)
  • 相关阅读:
    最有影响力的计算机视觉会议及期刊论文
    计算机视觉与图像处理方面的顶级期刊
    总结一下国内搞机器学习和数据挖掘的大牛
    戴尔▪卡耐基《人性的弱点》阅读笔记(1)
    Python GUI之tkinter窗口视窗教程大集合(看这篇就够了)
    自控力极差的人如何自救?
    非技术人员也能看懂云计算,大数据,人工智能
    保罗·多兰《设计幸福》阅读笔记
    神经网络浅讲:从神经元到深度学习----以简单循序的方式带你聊聊深度学习
    从机器学习谈起----极好的一篇机器学习全貌入门文章
  • 原文地址:https://www.cnblogs.com/caochao-/p/7716493.html
Copyright © 2011-2022 走看看