python 四大基础数据结构及操作
python,四大,基础,数据结构,操作
2025-03-13 21:27:18 时间
了解变量和引用
变量简单地说就是指向了一个实体
引用简单地说就是指向变量的变量
>>> 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()
当成无序删除并返回元素
相关文章
- Python安装管理 Pycharm安装使用 pip使用[通俗易懂]
- python调用matplotlib报错_pycharm没有matplotlib模块
- 通过pycharm安装python_pycharm编译器安装教程
- Python基础19-面向对象(高级)
- Python基础23-SSH模块paramiko
- Python-基础02-程序与用户交互
- 【记录】mac使用PyCharm中Python版本不对应的解决方法
- pycharm如何找到python解释器,pycharm找不到解释器怎么办
- Python列表详细操作
- pycharm中pyqt5使用方法_python环境变量的配置
- 快速了解 OJ 判题系统如何在python中使用?
- Python暴力激活成功教程wifi密码
- pycharm中文版怎么配置python环境_python怎么加编译器
- Python实战 | 送亲戚,送长辈,“ 月饼 ”可视化大屏来帮忙。
- mac如何卸载python_如何彻底卸载pycharm
- Python项目47-前后端分离登录注册页(继续撸)
- sklearn cross validation_python sklearn
- [Python] 使用print作进度条(解决end=''时print不显示的问题)
- 【InventWithPython 第一部分】校对活动正式启动
- Python基础09-装饰器