前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python 四大基础数据结构及操作

python 四大基础数据结构及操作

作者头像
友儿
发布2022-09-26 11:29:46
2330
发布2022-09-26 11:29:46
举报
文章被收录于专栏:友儿

了解变量和引用

变量简单地说就是指向了一个实体

引用简单地说就是指向变量的变量

代码语言:javascript
复制
>>> a = 1
>>> b = a
>>> id(a)
1778508560
>>> id(b)
1778508560

基础数据结构的CRUD操作

List(列表)

list中存的元素是引用

create(增加)

append

末尾添加元素

代码语言:javascript
复制
>>> l = []
>>> id(l)
55200584
>>> l.append("a")
>>> l
['a']
>>> id(l)
55200584

++=

+

拼接两个列表, 然后返回一个新列表

+=

代码语言:javascript
复制
>>> l = ['a']
>>> id(l)
55200664
>>> l += ['b']
>>> id(l)
55200664
>>> l
['a', 'b']

**=

代码语言:javascript
复制
>>> 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

指定位置添加元素

代码语言:javascript
复制
l.insert(0, 'b')

Retrieve(检索)

索引取值

所有序列都支持索引取值

切片

代码语言:javascript
复制
your_list[start:end:step]
# 取一段区间
your_list[start:end]

# 取最后一个值
your_list[-1]

# 间隔问题
your_list[1:20:2]

index

代码语言:javascript
复制
>>> l
['a', 'b', 'c']
>>> l.index('a')
0

Update(更新)

索引赋值

代码语言:javascript
复制
l[0] = 'a_1'

切片赋值

代码语言:javascript
复制
>>> l
['a_1', 'a_2', 'b', 'c']
>>> l[0:2] = "a"
>>> l
['a', 'b', 'c']
>>> l[0:2] = 1

DELETE(删除)

pop()

从末尾删除元素并返回

代码语言:javascript
复制
>>> l
['a', 'b', 'c']
>>> x = l.pop()
>>> l
['a', 'b']
>>> x
'c'

clear()

清楚当前列表的元素, 不会改变列表的内存地址.

★SORT(排序)

sort()

代码语言:javascript
复制
>>> l
[1, 3, 2, 6, 4]
>>> l.sort()
>>> l
[1, 2, 3, 4, 6]

sorted

排序后返回新列表

代码语言:javascript
复制
>>> l2 = sorted(l)
>>> l
[1, 3, 2, 6, 4]
>>> l2
[1, 2, 3, 4, 6]
>>> id(l)
55201384
>>> id(l2)
55200984

reverse

代码语言:javascript
复制
>>> l2
[1, 2, 3, 4, 6]
>>> l2.reverse()
>>> l2
[6, 4, 3, 2, 1]

reversed

倒序之后返回新列表

代码语言:javascript
复制
>>> l
[1, 3, 2, 6, 4]
>>> list(reversed(l))
[4, 6, 2, 3, 1]

tuple

  • Create 无
  • Retrieve
    • 索引取值
    • index
    • 切片
  • Update 无
  • Delete 无

dict

Create

键对值赋值

update

提供合并字典的功能

代码语言:javascript
复制
>>> d
{'a': 1}
>>> d2 = {"b":2, "c": 3}
>>> d.update(d2)
>>> d
{'a': 1, 'b': 2, 'c': 3}

setdefault

如果字典中没有当前key, 那么就设置默认值

代码语言:javascript
复制
>>> 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可以指定默认值

代码语言:javascript
复制
>>> 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

代码语言:javascript
复制
d.keys()

values()

返回所有value

代码语言:javascript
复制
d.values()

items()

返回所有键对值

代码语言:javascript
复制
d.items()

Update

键对值赋值

代码语言:javascript
复制
 d['a'] = 100

update

代码语言:javascript
复制
>>> 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

代码语言:javascript
复制
>>> s
{'a'}
>>> "a" in s
True

update

  • union 合并两个set, 并返回一个新的set

delete

remove 和discard

discard缺失元素时不会报错, 而remove会报错

代码语言:javascript
复制
>>> 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()

当成无序删除并返回元素

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-08-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 了解变量和引用
  • 基础数据结构的CRUD操作
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档