Skip to content

Commit a7000ab

Browse files
committed
dict
1 parent e1bc159 commit a7000ab

File tree

1 file changed

+72
-0
lines changed

1 file changed

+72
-0
lines changed

python基础/dict.py

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
#dict 字典
2+
3+
d = {'Michel': 95, 'bob': 75, 'meo': 20}
4+
d['bob'] #75
5+
6+
#可以直接把数据放入dict
7+
d['meo'] = 96
8+
d['meo'] #96
9+
10+
#如果key不存在 就报错
11+
12+
#用in 判断 或者get方法
13+
14+
'struggle' in d #False
15+
16+
d.get('struggle') # 返回None 也可以指定返回值
17+
d.get('struggle', -1) # -1
18+
19+
#删除一个key用pop(key)
20+
21+
d.pop('bob')
22+
d #{'Michel': 95, 'meo': 96}
23+
24+
#请务必注意,dict内部存放的顺序和key放入的顺序是没有关系的。
25+
26+
#和list比较,dict有以下几个特点:
27+
28+
#1.查找和插入的速度极快,不会随着key的增加而变慢;
29+
#2.需要占用大量的内存,内存浪费多。
30+
31+
#而list相反:
32+
33+
#1.查找和插入的时间随着元素的增加而增加;
34+
#2.占用空间小,浪费内存很少。
35+
36+
#所以,dict是用空间来换取时间的一种方法。 dict的key必须是不可变对象。
37+
38+
#set set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key
39+
40+
s = set([1, 2, 3])
41+
s #{1, 2, 3}
42+
43+
#重复元素在set中自动被过滤:
44+
s = set([1, 1, 2, 2, 3, 3, 4])
45+
s #{1, 2, 3, 4}
46+
47+
#通过add(key)方法可以添加元素到set中
48+
49+
s.add(5)
50+
s #{1, 2, 3, 4, 5}
51+
52+
#通过remove(key)方法可以删除元素:
53+
54+
s.remove(2)
55+
s #{1, 3, 4, 5}
56+
57+
#set和dict的唯一区别仅在于没有存储对应的value,但是,set的原理和dict一样,所以,同样不可以放入可变对象,因为无法判断两个可变对象是否相等,也就无法保证set内部“不会有重复元素”
58+
59+
#再议不可变对象
60+
#str是不变对象,而list是可变对象。
61+
62+
63+
#对list进行操作,list内部的内容是会变化的,
64+
a = ['b','v','a','f',['a','e']]
65+
a.sort()
66+
a #['a', 'b', 'f', 'v', ['a', 'e']]
67+
68+
69+
#对str进行操作.replace确实变出了'sbc',但是变量a还是'abc' replace方法创建了一个新字符串'sbc'并返回 a 变量本身的内容没变
70+
a = 'abc'
71+
a.replace('a','s') #'sbc'
72+
a #'abc'

0 commit comments

Comments
 (0)