首页 > 其他分享 >字典

字典

时间:2023-07-08 09:46:46浏览次数:24  
标签:name dict key print my 字典

语法

字典是一种无序的数据结构,用于存储键-值对。它使用花括号 {} 来表示,并且键和值之间使用冒号 : 分隔,各个键值对之间⽤逗号隔开. 语法:
my_dict = {key1: value1, key2: value2, ...}
其中,key 是唯一的且不可变的(通常使用字符串或数字),而 value 可以是任意类型的对象。

字典里面的数据是以___键值对___形式进行存储,字典不支持___下标___取值,只能以__key____查找数据。

示例

  1 '''
  2 字典是一种无序的数据结构,用于存储键-值对。它使用花括号 {} 来表示,并且键和值之间使用冒号 : 分隔.各个键值对之间⽤逗号隔开 语法:
  3     my_dict = {key1: value1, key2: value2, ...}
  4 其中,key 是唯一的且不可变的(通常使用字符串或数字),而 value 可以是任意类型的对象。
  5 
  6 
  7 操作和处理字典:
  8     1. keys(): 返回一个包含字典所有键的视图。
  9     2. values(): 返回一个包含字典所有值的视图。
 10     3. items(): 返回一个包含字典所有键-值对的视图。
 11     4. get(key[, default]): 获取指定键的值,如果键不存在,则返回默认值(如果提供了)。
 12     5. pop(key[, default]): 删除并返回指定键的值,如果键不存在,则返回默认值(如果提供了)。
 13     6. popitem(): 随机删除并返回字典中的一对键-值。
 14     7. clear(): 清空字典,删除所有的键-值对。
 15     8. update(other_dict): 将其他字典中的键-值对更新到当前字典中。
 16     9. copy(): 创建字典的副本。
 17     10. len(): 返回字典中键-值对的数量。
 18     11. in: 检查指定键是否存在于字典中。
 19 '''
 20 
 21 # 1. 创建一个字典
 22 # 创建空字典的2种方法
 23 my_dict = {}  # 1. 使用{}创建空字典
 24 my_dict = dict()  # 2. 使用dict()创建空字典
 25 # 使用dict()构造函数初始化字典。
 26 my_dict = dict(name='Alice', age=25)
 27 
 28 my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}
 29 
 30 
 31 # 2. 访问字典中的值,对象[key名] 或字典对象.get(key名)
 32 print(my_dict['name'])  # Output: Alice
 33 # name = my_dict.get('name', 'Unknown')  # 获取键为'name'的值,如果不存在则返回默认值'Unknown'
 34 print(my_dict.get('age'))  # Output: 25
 35 
 36 # 3. 修改字典中的值
 37 my_dict['age'] = 26
 38 
 39 # 4. 添加新的键-值对
 40 my_dict['country'] = 'USA'
 41 my_dict['name'] = 'Allen'  # 如果key已经存在,则更新其值
 42 print(my_dict)
 43 
 44 # 5. 删除键-值对
 45 del my_dict['city']
 46 
 47 # 6. 遍历字典
 48 for key, value in my_dict.items():
 49     print(key, value)
 50 
 51 # 7. 使用字典的方法(循环)
 52 print(my_dict.keys())  # 获取所有的key Output: dict_keys(['name', 'age', 'country'])
 53 print(type(my_dict.keys()))  # <class 'dict_keys'>
 54 print(my_dict.values())  # Output: dict_values(['Allen', 26, 'USA'])
 55 print(type(my_dict.values()))  # <class 'dict_values'>
 56 print(len(my_dict))  # Output: 3
 57 
 58 print(my_dict.items())  # dict_items([('name', 'Allen'), ('age', 26), ('country', 'USA')])
 59 print(type(my_dict.items()))  # <class 'dict_items'>
 60 
 61 for item in my_dict.items():
 62     print(item)  # ('name', 'Allen')
 63     print(type(item))  # <class 'tuple'>
 64 # 使用items()方法迭代字典的键-值对
 65 for key, value in my_dict.items():
 66     print(key, value)
 67 # 使用keys()方法迭代字典
 68 for key in my_dict.keys():
 69     print(f"key={key},value={my_dict[key]}")
 70 
 71 # 8. 判断键是否存在
 72 if 'name' in my_dict:
 73     print('Name is present in the dictionary.')
 74 
 75 # 9. 创建字典的副本:copy方法\dict方法
 76 new_dict = my_dict.copy()  # 浅拷贝
 77 new_dict = dict(my_dict)   # 浅拷贝
 78 
 79 # 将键-值对转换为列表:
 80 # 1. 列表中的元素是元组
 81 # 1个元组,有2个元素,第1个是key,第2个是key对应的value
 82 
 83 # 10. 使用list()函数将items()的结果转换为列表
 84 items_list = list(my_dict.items())
 85 print(items_list)  # [('name', 'Allen'), ('age', 26), ('country', 'USA')]
 86 
 87 # 11. 使用pop()方法删除指定键的值并返回该值
 88 age = my_dict.pop('age')  # 删除键为'age'的值并返回
 89 print(age)
 90 
 91 # 12. 使用in关键字判断键是否存在于字典中
 92 if 'name' in my_dict:
 93     print('Name is present in the dictionary.')
 94 
 95 # 11. 清空字典
 96 my_dict.clear()
 97 print(len(my_dict))
 98 
 99 # 12 删除字典对象
100 del my_dict
101 print(my_dict) # NameError: name 'my_dict' is not defined. Did you mean: 'new_dict'?

 

坑:

 



标签:name,dict,key,print,my,字典
From: https://www.cnblogs.com/allenxx/p/17536639.html

相关文章

  • python字典(二)- 嵌套
    1.字典列表alien_0={'color':'green','points':5}alien_1={'color':'yellow','points':10}alien_2={'color':'red','points':15}aliens=[alien_0,alien_1,alie......
  • C# 替换字典的键或值
    因为ElementAt(index)方法是只读的,不能改动键或值,需要通过ToDictionary方法usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;classMainClass{publicstaticvoidMain(){Dictionary<string,int>testDict=newDictionary<string,......
  • package com.ws.byd.bmgl.bmzdpz:编码字典------bydobject
    controller:packagecom.ws.byd.bmgl.bmzdpz.controller;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importorg.apache.commons.lang.O......
  • 求字典中的最大的值 max(age_counts,key=age_counts.get)
    student_info={15:{'jack','rose',},18:{'jj'},35:{'a','b','c','d'},}age_counts={}#定义一个字典key=agevalue=name的长度forageinstudent_info:count=len(student_info......
  • 字典排序
    students=[{'name':'Jack','age':17,'score':89},{'name':'Julia','age':17,'score':80},{'name':'Tom','age':16,'score':80......
  • wpf 资源字典 换肤
    介绍一下wpf中给控件更改样式的集中方法,只用button演示,其他控件相同1.使用代码更改button的style定义button的style1<StyleTargetType="Button"x:Key="buttonstyle1"><SetterProperty="Background"Value="LightBlue"/>&l......
  • Redis数据结构——字典
    前言字典在Redis中的应用非常广泛,数据库与哈希对象的底层实现就是字典。一、复习散列表1.1散列表散列表(哈希表),其思想主要是基于数组支持按照下标随机访问数据时间复杂度为O(1)的特性。可以说是数组的一种扩展。假设,我们为了方便记录某高校数学专业的所有学生的信息。要求可......
  • python 字典key单引号变双引号
    背景:str1="{'a':1,'b':2,'c':3}"把字典格式的字符串str1转成字典importjsons_dic=json.loads(str1)报错信息:json.decoder.JSONDecodeError:Expectingpropertynameenclosedindoublequotes:line1column2(char1) 解决思路:方法一:(不建......
  • Silverlight资源字典
     资源字典是一个受ResourceDictionary类支持的概念。资源字典是一个键控对象字典,可在XAML和代码中使用。XAML是最常见的用法,特别是用于最初定义资源字典中的对象。资源字典可存在于应用程序结构中的多个位置,包括作为直接(页)资源、应用程序资源(作为Application对象的一部分)或......
  • 字典
    #字典zd={'name':'fqs','age':36,'class':1,'w':'ww'}print(zd['name'])#更改字典内的值zd['name']='douDou'print(zd)#判断字典内是否存在某个值#第一种写值print('fqs'in......