了解变量和引用
- 变量简单地说就是指向了一个实体
引用简单地说就是指向变量的变量
>>> a = 1 >>> b = a >>> id(a) 1778508560 >>> id(b) 1778508560
基础数据结构的CRUD操作
List(列表)
list中存的元素是引用
create(增加)
append
末尾添加元素
>>> l = [] >>> id(l) 55200584 >>> l.append("a") >>> l ['a'] >>> id(l) 55200584
+
和+=
+
拼接两个列表, 然后返回一个新列表
+=
>>> l = ['a'] >>> id(l) 55200664 >>> l += ['b'] >>> id(l) 55200664 >>> l ['a', 'b']
*
和*=
>>> a = 'a' >>> id(a) 53622432 >>> l = [a] * 10 >>> l ['a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a'] >>> id(l[0]) 53622432 >>> id(l[1]) 53622432 >>> id(l[9]) 53622432 # 赋值语句之后, a已经是一个新的对象了 >>> a = 'b' >>> l ['a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a'] >>> id(a) 53647264
insert
指定位置添加元素
l.insert(0, 'b')
Retrieve(检索)
索引取值
所有序列都支持索引取值
切片
your_list[start:end:step] # 取一段区间 your_list[start:end] # 取最后一个值 your_list[-1] # 间隔问题 your_list[1:20:2]
index
>>> l ['a', 'b', 'c'] >>> l.index('a') 0
Update(更新)
索引赋值
l[0] = 'a_1'
切片赋值
>>> l ['a_1', 'a_2', 'b', 'c'] >>> l[0:2] = "a" >>> l ['a', 'b', 'c'] >>> l[0:2] = 1
DELETE(删除)
pop()
从末尾删除元素并返回
>>> l ['a', 'b', 'c'] >>> x = l.pop() >>> l ['a', 'b'] >>> x 'c'
clear()
清楚当前列表的元素, 不会改变列表的内存地址.
★SORT(排序)
sort()
>>> l [1, 3, 2, 6, 4] >>> l.sort() >>> l [1, 2, 3, 4, 6]
sorted
排序后返回新列表
>>> l2 = sorted(l) >>> l [1, 3, 2, 6, 4] >>> l2 [1, 2, 3, 4, 6] >>> id(l) 55201384 >>> id(l2) 55200984
reverse
>>> l2 [1, 2, 3, 4, 6] >>> l2.reverse() >>> l2 [6, 4, 3, 2, 1]
reversed
倒序之后返回新列表
>>> l [1, 3, 2, 6, 4] >>> list(reversed(l)) [4, 6, 2, 3, 1]
tuple
Create
无
Retrieve
- 索引取值
- index
- 切片
Update
无
Delete
无
dict
Create
- 键对值赋值
update
提供合并字典的功能
>>> d {'a': 1} >>> d2 = {"b":2, "c": 3} >>> d.update(d2) >>> d {'a': 1, 'b': 2, 'c': 3}
setdefault
如果字典中没有当前key, 那么就设置默认值
>>> d {'a': 1, 'b': 2, 'c': 3} >>> d.setdefault('b', 0) 2 >>> d.setdefault('d', 0) 0 >>> d {'a': 1, 'b': 2, 'c': 3, 'd': 0}
Retrieve
- 键对值访问
get
键对值访问缺失key会报错, 而get可以指定默认值
>>> d['e'] Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: 'e' >>> d.get('f') >>> d.get('f', 0) 0
keys()
返回所有key
d.keys()
values()
返回所有value
d.values()
items()
返回所有键对值
d.items()
Update
键对值赋值
d['a'] = 100
update
>>> d.update({"b": 200, "c": 300}) >>> d {'a': 100, 'b': 200, 'c': 300, 'd': 0}
Delete
pop(key)
删除当前元素并返回value
popitem()
对于人来说, 相当于随机返回一个item
- clear()
set
Create
- add
- update
Retrieve
运算符
in
>>> s {'a'} >>> "a" in s True
update
union
合并两个set, 并返回一个新的set
delete
remove 和discard
discard缺失元素时不会报错, 而remove会报错
>>> s {'b', 'c', 'a'} >>> s.remove("a") >>> s {'b', 'c'} >>> s.discard("e") >>> s.remove("a") Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: 'a' >>>
pop()
当成无序删除并返回元素
Comment here is closed