字典(常用)

  • 特点:无序的,索引速度快,key不可变 value多元存放
  • 用途主要用于存储大量数据,字典比列表快,将数据与数据之间进行关联
  • 定义 {key1:value1,key2:value2}
  • 避免哈希冲突 采用开放寻址法
创建:
dic={键:值}
info{
    "name":"zhangsan",
    "age":"2"
}
1 prson={"name":"zhangsan","age":"2"}
2 person=dict("name":"zhangsan","age":"2")
3 {}.fromkeys(keys)批量生产字典
字典的键 :可哈希的的---不可变数据类型(数字,元组,字符串,布尔)
要求唯一   ---如果键值有重复后边覆盖前边的值
字典的值:可以任意

  • dic[“键”]=“值”
d={1:none,2:none,3:none}
d['name']="zhangsan"
print(d)

#添加了一个键值对
#这种方法虽然简单,但是当添加的key在原字典里也有的时候,就会覆盖。
  • dic.setdefault(“键”,值)
dic = {1: None, 2: None, 3: None, 4: None, 5: None}
dic.setdefault("name","zhangsan")
print(dic)
dic.setdefault("name","lisi")
print(dic)
#即使第二次命名字典中的key,value也还是开始的value,并没有改变,但是 也不会报错。

  • d.pop(“键”) #通过字典的键删除键值对

  • d.popitem() #随便删除一个

  • del d[“键”] 同“pop”

  • d.clear() 清空字典

dic["键"] = "值"   # 字典中没有某个键值对的时候就是添加,当键在字典中存在的时候就是修改
#有则改 无则加
dic1.update(要更新的字典)
print(dic1)
#update括号中的字典级别高于update前面的字典

  • dic[“key”] 返回字典里 key 所对应的 value ,没有则报错。

  • dic.get(key,default = None) 返回字典中key 所对应的 value ,不存在返回default的值

  • “key” in dic 存在则返回True,没有则返回False

 dic1 = {"1":3,"5":9,"李文虎":100}
 for i in dic1:   # 循环获取的是字典中每个键
     print(i)
素质三连
  • dic.keys() 返回一个包含字典里所有keys的列表

  • dic.values() 返回一个包含字典里所有values的列表

  • dic.items() 返回一个包含所有(键,值)元祖的列表

cars = ['鲁A32444','鲁A12333','湘B8989M','黑A49678','黑B46555','沪B25044','冀A11111',"京A01101"]
locals = {'冀':{"A":"石家庄","B":"唐山"},
          '黑':{"A":"哈尔滨","B":"齐齐哈尔"},
          '鲁':{"A":"济南","B":"青岛"},
          '鄂':{"A":"武汉","B":"黄石"},
          '湘':{"A":"长沙","B":"株洲"},
          }
dic={}
for i in cars:  #每次传进一个车牌号   鲁A32444
    if i[0] in locals: #locals取的是字典的键 #判断cars[0]车牌号与字典的键做判断   鲁
        if i[1]=="A":  #取得是'A’的键#在基于判断完车牌号上,在判断'A'     A
            if locals[i[0]]["A"] not in dic:   # 这里的i[0]代指的是第一层字典的键 #取得是鲁A在dic里面索引不到
                dic[locals[i[0]]["A"]]=1   #不在dic先创建一个
            else:
                dic[locals[i[0]]["A"]]+=1  #在就加一
        if i[1] == "B":  # 在基于判断完车牌号上,在判断'A'
            if locals[i[0]]["B"] not in dic:
                dic[locals[i[0]]["B"]] = 1  # 不在dic先创建一个
            else:
                dic[locals[i[0]]["B"]] += 1  # 在就加一
print(dic)


结果为:{'济南': 2, '株洲': 1, '哈尔滨': 1, '齐齐哈尔': 1, '石家庄': 1}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值