Python第三周学习笔记|序列,函数

第三周我们首先来考虑序列

我在第一周作业就介绍过Python强大的序列索引机制,这里再列一次

不过它和range函数有个相似的地方这里没写,就是可以设置每次几步

str1 =[1,2,3,4,5]

str1[0:5:2]==[1,3,5]

之后我们来介绍列表的诸多方法

分为增/删/改/查

最基础的添加一个元素的函数append

str1.append(“第六个“)

str1==[1,2,3,4,5,”第六个“]

所以你应该发现了,序列里的元素可以是不同类型的

但是每次一个元素显然太慢了,所以我们之后来介绍extend函数,它可以一次添加一个可迭代对象

什么是可迭代对象讷

str1.extend([“第七“,“第八”])

就加到序列最后一个元素之后了

还有一种赋值方法(其实是利用了切片

str1[len(str1):]=[8,9]

就在最后一个元素之后加上了新元素

但是记得这里有个:,意思是从哪里开始赋值,因为是从无到有,所以要加:,之后改就不用了

但是假如要从中间插入一个元素呢

显然Python的便利性就体现出来了

使用insert()函数

str1.insert(1,2)

就在第二个元素的位置插入了2

使用remove函数

流弊的是remove甚至有搜索匹配的功能

例如

str1.remove(“第六个“)

就删除了,当然这么智能也是有使用规则的

  1. 多个可匹配相同元素时,只删除第一个
  2. 无元素在序列内匹配的话,报错

当然,按照序列次序删除元素也是可以的

使用pop()函数

str1.pop(2)

就删除了第三个元素

还有一键删除所有元素

str1.clear()

单个元素的替换

str1[3]= 99

第四个元素就被替换为99

多个连续元素的替换

str1[2:]=[55,66]

第三个元素起包括第三个元素之后的所有元素,就只剩55和66了

假如是纯数字序列,可以用sort()函数直接排序(从小到大)

str1.sort()

可以反转这个序列(包括非数值序列)

str1.reverse()

可以直接一步从大到小排序

str1.sort(reverse=True)

查一个元素出现了几次

str1.count(2)

查某个元素的索引值(也就是在数组的下标,从0开始)

str1.index(2)

还可以做一个带查找的改

str1[str1.index(1)]=51

1元素就被改为51了

和remove一样,多个相同值替换第一个

还有个拷贝序列的操作

浅拷贝

str2 =str1.copy()

str3=str1[:]

这两者完全等价

列表的加法和乘法

s=[1,2,3]

t=[4,5,6]

s+t==[1,2,3,4,5,6]

s*3== [1, 2, 3, 1, 2, 3, 1, 2, 3]

多维列表

这里想输出二维列表就要用二重循环,下面的print()起换行的作用(Python的print()自动换行)

其它创建多维列表的方法

注意这里的A和B是不同的(is 是同一性运算符)

当然列表的方法这里还没说完,但是老师讲的内容更省略,所以为了追上老师的进度,我们先讲函数

函数

定义函数需要def语句

def myfunc():

       pass

就定义了一个最简单的函数

相较于C def就是void或者int

同理和C一样,括号内可以通过参数赋值

def myfunc(name):

       print(name)  

myfunc("Love")

Love

参数可以有多个

当然你想让他返回值的话就加一个return

其实你不写return,它也会在执行完返回一个None

但是要注意一点,一旦一个函数返回值,它就直接结束,不会执行后面的语句,和C的return一样

函数的参数

1位置参数(按照默认位置赋值)

2关键字参数

3默认参数(这个默认参数必须填到位置参数之后)

4位置参数关键字参数混合(关键字参数也得在位置参数之后)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值