精华内容
下载资源
问答
  • python中字典的查询方法

    千次阅读 2020-08-04 17:17:57
    python中字典的查询方法包括: 1.直接用key查询,例如dict[key] 返回的就是这个key值对应的value值,如果没有这个key值,则会报错 2.用内置函数items() 返回的就是每一组的key:value值 3.用内置函数keys() 返回的就是...

    python中字典的查询方法包括:
    1.直接用key查询,例如dict[key] 返回的就是这个key值对应的value值,如果没有这个key值,则会报错
    2.用内置函数items() 返回的就是每一组的key:value值
    3.用内置函数keys() 返回的就是每一个key值
    4.用内置函数values() 返回的就是每一个value值
    5.用函数get(key) 返回的就是value值,如果没有这个key值,则会返回None,相比于dict[key]来说,get(key)更加人性化。
    代码如下:

    for key,value in dict2.iteams():
    	#print(key,value)
    	if value > 90:
    		print(key)
    
    
    #values()   取出字典中所有的value值,保存到列表中
    result=dict2.values()
    print(result)
    #求所有学生的考试平均分
    for score in dict2.values():
    	print(score)
    #score = dict2.values()
    totel=sum(dict2.values())
    averg = totle/len(dict2.values())
    print(averg)
    
    #keys()   获取字典中的所有key键
    names = dict2.keys()
    print(names)
    
    for name in names:
    	print(name)
    
    #找人: in  也可以用于字典的操作,用于判断元素有没有在字典的key中出现
    #8 in list1
    print('王五' in dict2)
    '''
    1.根据key获取值   如果key在字典中不存在则报出KeyError
    dict[key]--->value
    2.字典的内置函数:
    	get(key)--->value 如果取不到值也不会报错,返回None 
    	get(key,default)--->如果能够取到值则返回字典中的值,如果取不到值返回default(默认)的值 
    	items()
    	keys()
    	values() 
    '''
    #print(dict2['赵飞'])
    print(dict2.get('赵飞',99))
    

    欢迎大家相互交流学习!!!

    展开全文
  • 今天小编就为大家分享一篇Python txt文件加入字典并查询的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 主要介绍了Python中让MySQL查询结果返回字典类型的方法,默认情况下Mysql返回的是元组类型,本文实现了返回字典类型,需要的朋友可以参考下
  • 字典的查询方法 # keys方法访问字典的键 >>> mydict.keys() dict_keys(['name', 'age']) >>> # values方法访问字典的值 >>> mydict.values() dict_values(['zhangsan', 18]) >>&...

    字典的查询方法

    # keys方法访问字典的键
    >>> mydict.keys()
    dict_keys(['name', 'age'])
    >>> 
    
    # values方法访问字典的值
    >>> mydict.values()
    dict_values(['zhangsan', 18])
    >>> 
    
    # get方法根据键返回值
    >>> mydict.get('age')
    18
    >>> 
    
    # item方法返回键值组成的元组
    >>> mydict.items()
    dict_items([('name', 'zhangsan'), ('age', 18)])
    
    # in运算检测键是否存在字典中。
    >>> 'age' in newdict1
    True
    >>> 
    
    
    展开全文
  • 为了方便使用一般会选择将查询结果加上字段名称以字典方式返回查询结果。 实现如下: def dict_fetchall(cursor): "Return all rows from a cursor as a dict" columns = [col[0] for co...

    情况一:

    使用python查询mysql数据库的时候,默认查询结果没有返回表字段名称,不方便使用。为了方便使用一般会选择将查询结果加上字段名称以字典组的方式返回查询结果。

    实现如下:

     

    def dict_fetchall(cursor):
        "Return all rows from a cursor as a dict"
        columns = [col[0] for col in cursor.description]
        return [
            dict(zip(columns, row))
            for row in cursor.fetchall()
        ]

    详细原理参考:https://docs.djangoproject.com/en/2.0/topics/db/sql/#executing-custom-sql-directly

     

    情况二:

    这篇文章主要介绍了Python中让MySQL查询结果返回字典类型的方法,默认情况下Mysql返回的是元组类型,本文实现了返回字典类型,需要的朋友可以参考下

    Python的MySQLdb模块是Python连接MySQL的一个模块,默认查询结果返回是tuple类型,只能通过0,1..等索引下标访问数据
    默认连接数据库:

    复制代码代码如下:
    MySQLdb.connect(
        host=host,
            user=user,
            passwd=passwd,
            db=db,
            port=port,
            charset='utf8'
    )


    查询数据:复制代码代码如下:
    cur = conn.cursor()
    cur.execute('select b_id from blog limit 1')
    data = cur.fetchall() 
    cur.close()
    conn.close()


    打印:复制代码代码如下:
    for row in data:
        print type(row)
        print row


    执行结果:复制代码代码如下:
    <type 'tuple'>
    (1L,)


    为tuple类型。
    我们可以这么干使得数据查询结果返回字典类型,即 字段=数据
    导入模块

    复制代码代码如下:
    import MySQLdb.cursors
    在连接函数里加上这个参数  cursorclass = MySQLdb.cursors.DictCursor 如:

    复制代码代码如下:
    MySQLdb.connect(
        host=host,
            user=user,
            passwd=passwd,
            db=db,
            port=port,
            charset='utf8',
        cursorclass = MySQLdb.cursors.DictCursor
    )
    再重新运行脚本,看看执行结果:

    复制代码代码如下:
    <type 'dict'>
    {'b_id': 1L}


    搞定!
    注意,在连接的时候port如果要指定则值必须是整型,否则会出错!

     

    情况三:

    默认情况下Mysql返回的是元组类型,如果我们既需要元组类型,又需要字典类型,则可以使用临时改变 cursors 的方法来实现:

    import mysql

    db = mysql.connect(
        host=host,
            user=user,
            passwd=passwd,
            db=db,
            port=port,
            charset='utf8',
        cursorclass = MySQLdb.cursors.DictCursor
    )

    dbSession1 = db

    dbSession1.cursor( cursor=pymysql.cursors.DictCursor)

    dbSession1.execute( sql_str )

     

     

     

     

    展开全文
  • 文章目录字典 (dict) 的增删改及其他方法一、字典的简介二、增加字典元素的方法三、删除字典元素的方法四、修改字典元素的方法五、查询字典元素的方法六、用循环的方法来遍历字典: 一、字典的简介 字典是python中...

    字典 (dict) 的增删改查及其他方法

    一、字典的简介

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

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

    二、增加字典元素的方法

    • list[‘key’] = vaule

      这种方法是通过key给字典添加元素,如果字典里已存在该key的值,则会覆盖,如果不存在,则会添加,如下如:

    dic = {'name':'小明','age':29,'job':'程序员'}
    
    dic['addr'] = '广州'
    print(dic)
    #输出结果为:{'name': '小明', 'age': 29, 'job': '程序员', 'addr': '广州'}
    dic['addr'] = '深圳'
    print(dic)
    #输出结果为:{'name': '小明', 'age': 29, 'job': '程序员', 'addr': '深圳'}
    
    • setdefault()方法:

      此方法是根据函数对字典进行增添元素,参数为(‘key’,‘value’) value默认为程序员,与直接用 dict[key] = value 的添加元素方法不同,用setdefault(key,value)方法的时候,如果字典没有该key的时候,则会正常添加,如果已经有了该key,那么将不进行操作(不会覆盖原来的值)

    dic = {'name':'小明','age':29,'job':'程序员'}
    dic.setdefault('name','小芳')
    print(dic)  #结果不会改变: {'name': '小明', 'age': 29, 'job': '程序员'}
    
    dic.setdefault('height')
    print(dic)  #结果:{'name': '小明', 'age': 29, 'job': '程序员', 'height': None}
    
    dic.setdefault('addr','广州')
    print(dic) #结果 {'name': '小明', 'age': 29, 'job': '程序员', 'height': None, 'addr': '广州'}
    

    三、删除字典元素的方法

    • pop(key)方法:

      与列表的pop()方法不同,字典的pop()方法必须得给它传一个key值,如果字典里没有该key,则会报错。也可以用 pop(key,‘返回值’) 来指定返回值,此时,当找不到key的时候,则不会报错,会将指定的返回值返回

    dic = {'name':'小明','age':29,'job':'程序员'}
    dic.pop('job')
    print(dic)  #结果为:{'name': '小明', 'age': 29}
    
    dic.pop('job')
    print(dic)  #此时以及没有job的key,就会报错 KeyError: 'job'
    
    print(dic.pop('addr','广州'))  #此时虽然找不到‘addr’key,但是不会报错,并且将‘广州’返回 
    print(dic)	#此时字典没有被改变 :{'name': '小明', 'age': 29}
    
    • popitem()方法:

      此方法类似于列表的pop()方法,用来随机删除一个元素,返回删除的那个元素的(键,值),如下:

    dic = {'name':'小明','age':29,'job':'程序员'}
    print(dic.popitem())  #结果为('job', '程序员')
    print(dic)          #结果为:{'name': '小明', 'age': 29}
    
    • del list[key]

      此方法用来删除字典种指定key以及它所对应的value,如果找不到该key,则会报错,如下:

    dic = {'name':'小明','age':29,'job':'程序员'}
    del dic['job']
    print(dic) #结果为:{'name': '小明', 'age': 29}
    
    del dic['job']
    print(dic)  #此时字典里已经没有job值,则会报错:KeyError: 'job'
    
    • clear()方法:

      该方法与列表的clear()方法类似,用来清空字典,如下:

    dic = {'name':'小明','age':29,'job':'程序员'}
    dic.clear()
    print(dic)   #结果为:{}
    
    • -del dic

      该方法用来删除整个字典,如下:

    dic = {'name':'小明','age':29,'job':'程序员'}
    del dic
    print(dic)   #此时dic已经被删除,不存在了,所以会报错:NameError: name 'dic' is not defined
    

    四、修改字典元素的方法

    • list[‘key’] = vaule

      这种方法是通过字典的kye来修改对应的value值,如果字典里已存在该key的值,则会修改,如果不存在,则会重新添加

    dic = {'name':'小明','age':29,'job':'程序员'}
     
    dic['addr'] = '广州'  #此时没有addr的key  则会添加
    print(dic)
    #输出结果为:{'name': '小明', 'age': 29, 'job': '程序员', 'addr': '广州'}
    
    dic['addr'] = '深圳' #此时以及有addr的key  则会修改
    print(dic)
    #输出结果为:{'name': '小明', 'age': 29, 'job': '程序员', 'addr': '深圳'}
    
    • update({key:value})方法:

      该方法是用来追加、拓展原字典元素。

      参数必须为一个字典,如下:

    dic = {'name':'小明','age':29,'job':'程序员'}
    dic.update({'addr':'广州'})
    print(dic)	#结果为:{'name': '小明', 'age': 29, 'job': '程序员', 'addr': '广州'}
    

    如果传入的字典里有部分key与原字典相同,则该key所对应的值会被覆盖,其他没有的key则会被添加,如下:

    dic = {'name':'小明','age':29,'job':'程序员'}
    dic.update({'addr':'广州','name':'小芳'})
    print(dic)
    #结果为:{'name': '小芳', 'age': 29, 'job': '程序员', 'addr': '广州'}
    

    五、查询字典元素的方法

    • dic[key]

      可以通过key来索引查询字典的元素,如果查不到,则会报错

    dic = {'name':'小明','age':29,'job':'程序员'}
    print(dic['name'])    #结果为:小明
    print(dic['addr'])     #搜索不到,会报错。KeyError: 'addr'
    
    • get(key)方法:

      该方法是用指定索引的方法来查找其所对应的元素,如果找不到,不会报错,可以通过 dic.get(key,‘返回值’) 方法指定找不到key时候的返回值,如下:

    dic = {'name':'小明','age':29,'job':'程序员'}
    print(dic.get('name'))  #结果为:小明
    print(dic.get('job'))  #结果为:程序员
    print(dic.get('addr','找不到该数据')) #结果为:找不到该数据
    

    六、用循环的方法来遍历字典

    • keys()方法

      此方法用来查询字典所有的key,可以用for循环进行遍历

    dic = {'name':'小明','age':29,'job':'程序员'}
    print(dic.keys())
    # 结果:dict_keys(['name', 'age', 'job'])
    
    for key in dic.keys():
        print(key)
    # 结果为:
    # name
    # age
    # job
    
    • values()方法

      此方法用来查询字典所有的values,可以用for循环进行遍历

    dic = {'name':'小明','age':29,'job':'程序员'}
    print(dic.values())
    # 结果:dict_values(['小明', 29, '程序员'])
    
    for value in dic.values():
        print(value)
    # 结果为:
    # 小明
    # 29
    # 程序员
    
    • items()方法

      此方法用来查询字典所有的键值,可以用for循环来遍历

    dic = {'name':'小明','age':29,'job':'程序员'}
    print(dic.items())
    # 结果:dict_items([('name', '小明'), ('age', 29), ('job', '程序员')])
    
    for k,v in dic.items():
        print(k,v)
    # 结果为:    
    # name 小明
    # age 29
    # job 程序员
    
    展开全文
  • 字典的常用方法 1.len()统计数据项长度 A={“name”:‘迪奥’,‘age’:‘600’} print(len(A)) 2 计算方法是每隔一个逗号是一个项 2.keys() 获取所有的键----key A={“name”:‘迪奥’,‘age’:‘600’} print(A....
  • 使用navicat导出数据字典的查询方法

    千次阅读 2018-11-12 11:19:59
    查阅了很多方法之后,如使用数据字典导出工具、写代码工具等,在此,我选择使用最简单方式,直接在navicat中查询导出数据字典。  第一步——看图 第二步——写入查询并运行   sql语句: SELECT TABLE_...
  • ORACLE用户常用数据字典的查询使用方法.txt
  • 本文主要介绍了Python 字典值查询出对应键,分享给大家,也给自己留个笔记,具体如下: # -*- coding: utf-8 -*- # Author Zhang Chen # Email ZhangChen.Shaanxi@gmail.com # Data 2018/11/1 persons={'ZhangSan...
  • ORACLE用户常用数据字典的查询方法,供初学者有较强参考意义。
  • 在帮老师做医院项目,需要查询嵌套字典数据,图中病历号,临床科室是嵌套在首次病程记录...小结:filter查询需要自己输入字典格式代码,本人尝试多次都未果,后来药根据网上查的资料再加自己摸索才搞定! ...
  • 遍历字典的几种方法: dic = {'a': '1', 'b': '2', 'c': '3'} # 1 遍历key值 # for key in dic: # print(key, dic[key]) # # for key in dic.keys(): # print(key, dic[key]) # a 1 b 2 c 3 ...
  • 下面小编就为大家带来一篇Python Sqlite3以字典形式返回查询结果实现方法。小编觉得挺不错,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,660
精华内容 1,064
关键字:

查字典的方法