python-7 dict

enter description here
enter description here
enter description here

dict 去重,存放后面的值。key不可为list,value可为list。

enter description here
enter description here
enter description here
dict() 里使用这种写法语法不对,需标识符,‘1’ 和 1 不是标识符。

enter description here
enter description here

enter description here
enter description here

enter description here
enter description here

enter description here

enter description here
enter description here

enter description here
enter description here
enter description here

enter description here
enter description here

set 设置,如果没kv对,则使用当前这个key构建一个kv对,value没写用 None并返回当前的value值;如果有kv对,返回原本的value值。
enter description here

enter description here
enter description here
enter description here

enter description here
enter description here
enter description here

enter description here
‘b’ 需先定义 value存放的是引用地址

enter description here
enter description here
删除是把引用计数减一,当引用计数清零后,在适当时机垃圾回收机制启动,发现这个引用计数为零,标记为垃圾并将其清理掉。

enter description here

enter description here
enter description here
enter description here
enter description here

enter description here
enter description here
enter description here

enter description here
enter description here
enter description here
enter description here

enter description here
enter description here
enter description here
enter description here
enter description here

enter description here
enter description here
for 里面允许修改值,但长度不能变化。使用到keys values items ,就不能进行kv对增加和kv对减少
enter description here
enter description here

enter description here

enter description here
enter description here

enter description here
enter description here

enter description here
enter description here
enter description here
enter description here
enter description here

enter description here
从3.6 按录入序记录,但实际hash值千差万别
enter description here
enter description here
enter description here

enter description here
enter description here

from collections import defaultdict 

num = '   00000147923522462300572245063134543617   '.strip().lstrip('0')
d1 = defaultdict(int)

for k in num:
    d1[k] += 1 
    
print(d1)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
num = '   00000147923522462300572245063134543617   '.strip().lstrip('0')
counter = {}

# for c in num:
#     if c in counter.keys():
#         counter[c] += 1 
#     else: 
#         counter[c] = 1 


# for c in num:   # O(n)
#     if not c in counter.keys():   #O(1)
#         counter[c] = 0 
#     counter[c] += 1 
    
for c in num:
    counter[c] = counter.get(c, 0) + 1 

print(counter)

enter description here

from collections import defaultdict,OrderedDict
import random

l1 = []
d1 = defaultdict(int)

for i in range(100):
    l1.append(random.randint(-1000,1000))
    

l1.sort()
for k in l1:
    d1[k] += 1 
    
print(d1)

enter description here

import random

# nums = []
# for i in range(100):
#     nums.append(random.randint(-1000,1000)

n = 100
nums = [None] * n 
for i in range(n):
    nums[i] = random.randint(-1000,1000)
    
counter = {}
for x in nums:
    counter[x] = counter.get(x, 0) + 1 

# keys = list(counter.keys())
# keys.sort()
# for k in keys:
#     print(k, counter[k])
    
keys = sorted(counter.keys())
for k in keys:
    print(k, counter[k])
    
# sorted 返回一个新的列表
print(sorted(counter.items()))  # 默认情况会以二元组的索引0的数据排序

enter description here

from collections import defaultdict 
import random

alphabet = 'abcdefghijklmnopqrstuvwxyz'
l1 = []
d1 = defaultdict(int)
# char = random.choice(alphabet)   #随机取一个字符
# print(char)

for i in range(100):
    char = "".join(random.sample(alphabet,2))   # 随机取指定个数的字符
    l1.append(char)

sorted(l1,reverse=True)
for k in l1:
    d1[k] += 1 
    
print(d1)

enter description here

import random

alphabet = 'abcdefghijklmnopqrstuvwxyz'

names = []
for i in range(100):
    names.append(random.choice(alphabet) + random.choice(alphabet))  #  同一个字符可以取两次
    # names.append("".join(random.sample(alphabet, k=2)))   #  同一个字符只取一次

counter= {} 
for name in names:
    counter[name] = counter.get(name, 0) + 1 
print(sorted(counter.items(), reverse=True))

enter description here

posted @ 2022-04-22 09:54  何时&明月  阅读(28)  评论(0)    收藏  举报