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

      1 """
      2 两个无序的数据类型,字典,集合
      3 字典:由键-值对(key:value)组成的序列,由{}进行包裹
      4 1.key,键,由不可变的数据来做,字符串,整数(list可变的不能用来作键)
      5 2.key  是唯一的
      6 3.value 对数据类型无限制
      7 
      8 字典与列表的区别
      9 1.字典中的元素是无序的,列表中的元素是有序的,可以通过索引访问到
     10 2.字典中存放的是key:value键值对,由键来映射值
     11 3.字典,列表都是可变的,支持:增,删,改,查
     12 4.支持遍历,for;while可以遍历列表,能够遍历字典吗
     13 5.字典比列表查找数据的速度要快,更方便,更占内存
     14 
     15 字典支持的操作:
     16 1.使用键来访问值
     17 2.使用键来修改值
     18 3.使用键来添加键值对;(列表增加:append,extend,insert)
     19 
     20 字典的创建方式:
     21 1.{}
     22 2.dict()
     23    1)如果没有传参,创建空字典
     24    2)如果要把iterable对象传过来,iterable数据必须是成对出现的
     25       dict_1 = ([('a', 1)]),([('b', 2),['c', 3]])
     26    3)关键字参数,参数一开始已经赋值
     27       dict_2 = (zh=100,hai=50)
     28 3.字典推导式{x:x*2 for x in (2, 4, 6)}
     29 
     30 成员运算符应用于字典中, in  / not in
     31 如果一个键在字典中没有,直接访问会报错
     32 """
     33 # # 姓名 ,考试分数,相对应进行保存   字典
     34 # dict_1 = {"ming": 90, "wang": 100, "li": 88}
     35 # dict_1["liu"] = 100   # 添加,圆子店中没有这个键就添上
     36 # print(dict_1)
     37 # dict_1["li"] = 90   # 修改,元字典中有这个键就修改对应的值
     38 # print(dict_1)
     39 # # 运行结果:
     40 # # {'ming': 90, 'wang': 100, 'li': 88, 'liu': 100}
     41 # # {'ming': 90, 'wang': 100, 'li': 90, 'liu': 100}
     42 # print(dict_1["li"])  # 访问值,结果为:90
     43 # dict_2 = {x: x*2 for x in (2, 4, 6)}
     44 # print(dict_2)   # {2: 4, 4: 8, 6: 12}
     45 # # 使用dict()类型构造函数来创建字典
     46 # list_1 = [("a", 1), ("b", 2), ['c', 3]]
     47 # dict_3 = dict(list_1)
     48 # print(list_1)
     49 # print(dict_3)
     50 # dict_4 = dict(zhang=50, li=60)
     51 # print(dict_4)   # {'zhang': 50, 'li': 60}
     52 """
     53 成员运算符应用于字典中, in  / not in 
     54 如果一个键在字典中没有,直接访问会报错
     55 """
     56 """
     57 字典使用for循环遍历,方法:
     58 1.直接遍历键,通过键来访问值
     59 2.keys(),访问键视图,字典的内建方法
     60 3.values(),访问值视图,字典的内建方法
     61 4.items(),访问键值对视图,字典的内建方法
     62 5.enumerate()访问键的位置和键,函数
     63 """
     64 # list_1 = [("a", 1), ("b", 2), ("c", 3)]
     65 # dict_1 = dict(list_1, d=4, e=5)
     66 # print(dict_1)
     67 # # dict_1 = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
     68 # if "a" in dict_1:
     69 #     print(dict_1["a"])
     70 # else:
     71 #     print("dict_!中不存在'a'键")
     72 # # 结果为: 1
     73 # # 字典遍历方法1
     74 # for i in dict_1:  # key访问到的就是键
     75 #     print(i, dict_1[i])  # 通过键来获取值
     76 # # a 1
     77 # # b 2
     78 # # c 3
     79 # # d 4
     80 # # e 5
     81 #
     82 # # 字典遍历方法2:key访问键视图
     83 # for i in dict_1.keys():
     84 #     print(i)
     85 # # 结果为:
     86 # # a
     87 # # b
     88 # # c
     89 # # d
     90 # # e
     91 #
     92 # # 字典遍历方法3:values()访问键视图
     93 # for j in dict_1.values():
     94 #     print(j)
     95 # # 结果为:
     96 # # 1
     97 # # 2
     98 # # 3
     99 # # 4
    100 # # 5
    101 #
    102 # # 字典遍历方法4:items()访问键值对视图
    103 # for i, j in dict_1.items():
    104 #     print(i, j)
    105 # # a 1
    106 # # b 2
    107 # # c 3
    108 # # d 4
    109 # # e 5
    110 #
    111 # # 字符遍历方法5:使用enumerate函数
    112 # for i, j in enumerate(dict_1):
    113 #     print(i, j)
    114 # # 0 a
    115 # # 1 b
    116 # # 2 c
    117 # # 3 d
    118 # # 4 e
    119 """
    120 字典的删除,方法:
    121 1. del dict_1[key]  关键字del来删除某一个键值对
    122    del dict_1   关键字del直接删除字典
    123 2. .clear()   清空字典内容
    124 3. .pop(key)  删除指定的某一个键值对
    125 4. .popitem()  随即删除某一个键值对
    126 字典的其他内建方法:
    127 1. .get()  获取一个键对应的值,如果该键存在,就获取到其对应的值;
    128            如果该键不存在,就返回None
    129            如果在参数中指明默认值,则该键不存在就返回默认值
    130 求字典中的key:value个数,len()
    131 """
    132 # del dict_1["a"]
    133 # print(dict_1)  # {'b': 2, 'c': 3, 'd': 4, 'e': 5}
    134 # dict_1.pop('b')
    135 # print(dict_1)  # {'c': 3, 'd': 4, 'e': 5}
    136 # dict_1.popitem()
    137 # print(dict_1)  # {'c': 3, 'd': 4},随机删除
    138 # del dict_1  # 删除字典
    139 # print(dict_1)  # NameError: name 'dict_1' is not defined
    140 
    141 # print(dict_1.get("a"))  # 1
    142 # print(dict_1.get("f"))  # None
    143 # print(dict_1.get("f", 6))  # 6是默认值
    144 # print(dict_1.get("a", 6))  # 1,因为a对应的值是1
    145 # print(len(dict_1))  # 5对
    146 
    147 """
    148 有一个字符串,求字符串中的每个单词出现的次数
    149 1.字符串进行切片,生成一个列表;
    150 2.创建一个空字典
    151 3.遍历列表,取出数据,在字典中获取数据对应的值,如果为None,添加数据,
    152 并为其赋值为1;如果不为None,给数据对应的值+1
    153 4.让用户输入要查找的单词,并返回其在字符串中出现的次数。
    154 """
    155 # word = 'ming is very good ! ming is great'
    156 #        'ming is cool and man . ming is student , study hard ,' 
    157 #        'and score very good.'
    158 # list_1 = word.split(" ")
    159 # # print(list_1)
    160 # dict_1 = {}
    161 # for i in list_1:
    162 #     if dict_1.get(i) == None:
    163 #         dict_1[i] = 1
    164 #     else:
    165 #         dict_1[i] += 1
    166 # # print(dict_1)
    167 # while True:
    168 #     word_1 = input("请输入一个单词:")
    169 #     if word_1 in dict_1:
    170 #         print(dict_1[word_1])
    171 #         # break
    172 #     elif word_1 == "quit":
    173 #         break
    174 #     else:
    175 #         print("没有这个单词,请重新输入")
  • 相关阅读:
    理解 Javascript 执行上下文和执行栈
    CSS中选择器优先级的权重计算
    一年内经验前端面试题记录
    ie8兼容问题
    css文本两端对齐
    前端 SPA 单页应用数据统计解决方案 (ReactJS / VueJS)
    我在SharePoint行业的从业经历(一)
    android中的AlertDialog具体概述
    Android 最火的高速开发框架xUtils
    Project Euler:Problem 93 Arithmetic expressions
  • 原文地址:https://www.cnblogs.com/zh1127487137/p/12552764.html
Copyright © 2011-2022 走看看