算法学习-数据结构基础(1)

本文作者分享了从B站观看技术视频后,如何在CSDN上记录学习内容,特别关注了Python与MATLAB在处理Number相关操作、列表(list)和Tuple元组的差异,包括查找、增加、更新和删除等数据结构操作。
摘要由CSDN通过智能技术生成

主要是在B站看“爱学习的饲养员的视频”,用word做笔记好麻烦,开始在CSDN做记录,也方便自己查找吧。之前用MATLAB更多,和Python好多习惯都不太一样,

一、Number相关

对number的操作:+ - × /

//:向下取整?同Ceil 的取整结果?

%:取余数

abs(): 取绝对值

max(a,b), min(a, b)

pow(x, y) = x^y

sqrt: 求平方根(需要import math)

二、列表list

一个列表中可以同时包含多种数据类型,eg:a = [1, 1.5, "apple"]。(括号声明)

可涉及的操作:查找、增加、更新、删除。

1、查找: [索引序号] 进行查找,索引序号从0开始到 len-1

2、增加:a.append(增加的内容):eg:a=[1,2]-->a.append(3)--->a=[1,2,3]

3、更新:直接对某位置的值进行重新赋值,eg: a[0]=9

4、删除:a.pop(索引序号)。什么都不写的情况下默认删除最后一个

5、常用函数:

①求长度:len(a)

②求极值:max min

③翻转:a.reverse()  将a中的元素倒序显示

④清除: a.clear()  将a中的元素清空,即a = [ ]

⑤初始化:c初始化赋值为和a同等长度的元素全为0的list

c = [0]*len(a)

⑥判断a中是否有某元素,返回 true or false 。eg: 3 in a

⑦切片slice:获取列表的一部分。基本和MATLAB的操作相同,不同的有不能用end,可以用负数来表示倒数第几个元素(例如-1表示倒数第一个),但是注意python全部是左闭右开区间,也就是说eg:a[0:-1] 将不包括最后一个元素。如果要包含最后一个元素,则留空即可,eg: a[:]表示a中全部元素。

⑧遍历迭代的两种写法

##### 方式一
for x in a : #x是a中的元素
    print(x)

##### 方式二
for index in range(len(a)) #index是索引,范围从0 到 len-1
    print(a[index])

⑨高端操作,把遍历和迭代直接写进列表里(替代for循环的这一步,更加简洁),同样也是两种写法

### 方式一,按元素索引
b = [x*x for x in a]#依次对a中的每个元素做平方,得到b.仅循环
b = [x*x if x<3 else x for x in a]#循环+判断

三、Tuple元组

和list基本相同,同样可以包含多种该数据类型。eg:a = (1, 1.5, "apple")。(用括号声明)。注意,只有一个元素的时候记得加逗号,不然类别会被改变,即: b = (1, ))

不同的是,Tuple中的元素,只能查找不可以增删改。

大部分情况Tuple都可以用list来替代,一般用在查找某固定集合内的数,防止集合内容被更改时使用。

①len、max、min、in、slice、遍历迭代、复合操作等,都和 list 完全相同

②list和Tuple的互相转换:假设a为list,b为Tuple

a = list(b)#将tuple b 转换为list类型
b = tuple(a)#将list a 转换为tuple类型

可恶!今天忙忙叨叨一天,一刻没停歇,结果感觉并没干多少活!

明天上午先把数据结构剩下的视频看完。下午晚上继续刷代码随想录,先苟过华子笔试再说!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值