day 6 列表

本文详细介绍了Python列表的定义、特点及基本操作,包括增、删、改、查和切片等。列表作为可变的有序容器,支持多种操作方式,如append、insert、remove、pop等,以及切片获取部分元素。此外,还讲解了切片的完整语法和省略语法,以及其工作原理。
摘要由CSDN通过智能技术生成

列表

一,什么是列表

1.列表是容器类数据类型,用一个变量可以保存多个数据。用[]为列表容器的标志,里面的多个数据用逗号隔开:

# 例如list1 = [1,2,3,4] 
# list1 为一个变量,[]内的数据为变量保存的值

2.特点:

1)列表是可变的(指的是列表中元素的个数,元素的值和元素的位置是可以发生改变的)

2)列表是有序的 (每个元素对应的索引值,在列表中,列表的下标是元素序列中的位置信息)

在列表中每个元素都有两个下标值,一个是从0开始依次增加的下标值(0表示第一个元素)

一个是从-1开始依次减少的下标值(-1表示倒数第一个元素,-2表示倒数第二个元素…)

注意:下标不能越界,下标的有效范围0 ~ n-1 和 -1 ~ -n(n表示元素的个数)

二,列表的基本操作

1.查:获取列表元素

1)查单个- 获取一个元素

num1 = [10, 20, 30, 40]
	print(num1[0])    
    #num1[0] -> 值为10 表达式是获取的列表的中下标为0的值

2)遍历 - 一个一个的获取,直至获取所有元素

a.直接获取元素

num1 = [10, 20, 30, 40]
for i in num1:
    print(i)   #打印i的值为10 20 30 40 通过循环一一获取列表元素的值

b.通过下标遍历获取元素的值

num1 = [10, 20, 30, 40]
for i in range(len(num1)):
    print(i) #打印i的值为0 1 2 3  通过循环一一获取列表元素的下标,每个小标对应元素的值

c.同时获取下标和元素的值

num1 = [10, 20, 30, 40]
for x,y in enumerate(num1):
    print(x,y)   #打印x的值为列表下标 0 1 2 3
                 #打印y的值为列表元素 10 20 30 40

2.增 - 在列表中增加元素

1)列表.append(元素) - 在指定的列表的最后添加指定的值

num1 = [10, 20, 30, 40]
num1.append(50)  #在列表的最后添加指定元素
print(num1) #->num1[10,20,30,40.50]

2)列表.insert(下标,元素) - 指定下标对应的元素前插入指定元素

num1 = [10, 20, 30, 40]
num1.insert(0,10) #在列表下标为0前插入值为10的元素
print(num1)  #-> num1[10,10,20,30,40]

3.删 - 删除列表中指定的元素

1).del 列表[下标] - 删除列表中指定下标的元素

num1 = [10, 20, 30, 40]
del num1[3] #删除列表中下标为3的值
print(num1) #-> num1[10,20,30]

2)列表.remove(元素) - 删除列表中指定的元素(如果元素不存在会报错,如果元素有多个,找到第一个并删除)

num1 = [10, 20, 30, 40,30]
num1.remove(30) #删除列表中第一个30的元素
print(num1) #-> num1[10,20,40,30]

3)a.列表.pop() - 取出列表中最后一个,并且返回

num1 = [10, 20, 30, 40]
num2 = num1.pop() #取出num1中最后一个元素,返回一个新列表num2
print(num2) #-> num2[10,20,30]

​ b. 列表.pop(下标) - 取出列表中指定下标元素并返回

num1 = [10, 20, 30, 40]
num2 = num1.pop(2) #取出num1中下标为2的元素的值,返回一个新列表num2
print(num2) #->num2[10,20,40]

4.改 - 修改列表中指定元素的值

num1 = [10, 20, 30, 40]
num1[2] = 80 #修改下标为2的元素值
print(num1) #->num1[10,20,80,40]

5.切片 - 获取列表中部分元素

1.完整语法:

列表[开始下标:结束下标:步长]

num1 = [10, 20, 30, 40]
print(num1[1:3:1]) #->打印结果为[20,30] 注意:结束下标的值取不到,只能取结束下标前一个的值
print(num1[-1:0:-1]) #->打印结果为[40,30,20] 注意:步长是负数切片方向从后向前切
print(num1[-1:0:-2]) # ->打印结果为[40,20] 注意:步长是负数且绝对值为2,切片从后向前隔一个切一个

获取原理:

1)如果步长对应的方向和开始下标对应的元素到结束下标对应的元素的方向不一致,切片无效,结果是空列表

2)如果切片有效,先确定有效范围([开始下标:结束下标:步长],然后在有效范围内根据步长的方向按照步长的绝对值获取元素,创建新列表

2.省略语法

列表[开始下标:结束下标:步长]

1)省略步长:列表[开始下标:结束下标] - 省略步长,步长默认值是1

num1 = [10, 20, 30, 40]
print(num1[1:-1]) #->打印结果为[20,30] 省略的步长默认值是1

2)省略开始下标:列表[:结束下标:步长] - 如果步长为正数就从第一元素开始往后取,如果步长为负数就从最后一个元素开始往前取

num1 = [10, 20, 30, 40]
print(num1[:-1:1]) #->打印结果为num1[10,20,30] 步长为正数,从前往后取,开始下标默认为0开始
print(num1[:0:-1]) #->打印结果为num1[40,30,20] 步长为负数,从后往前取,开始下标默认为-1开始

3)省略结束下标:列表[开始下标::步长] - 如果步长为正数取到最后一个元素为止;如果步长为负数取到第一个元素为止。

num1 = [10, 20, 30, 40]
print(num1[0::1])#->打印结果为[10,20,30,40]步长为正数,从前往后取,结束下标取值可以越界取值
print(num1[-1::-1])#->打印结果为[40.30.20.10]步长为负数,从后往前取,结束下标取值可以越界取值

注意:省略结束下标,在切片时可以越界取值

MySQL是一种开源的关系型数据库管理系统,被广泛应用于Web应用程序的后台数据存储和管理。首次使用MySQL时,可以进行以下几个步骤: 1. 安装MySQL:首先需要下载并安装MySQL数据库服务器。可以从MySQL官方网站下载适合自己操作系统的安装包,并按照安装向导进行安装。 2. 启动MySQL服务:安装完成后,需要启动MySQL服务。在Windows系统中,可以在服务列表中找到MySQL服务并启动;在Linux系统中,可以使用命令行启动MySQL服务。 3. 连接到MySQL服务器:使用MySQL提供的客户端工具(如MySQL Shell、MySQL Workbench等)或命令行工具(如mysql命令)连接到MySQL服务器。需要提供正确的主机名、端口号、用户名和密码。 4. 创建数据库:连接到MySQL服务器后,可以使用SQL语句创建新的数据库。例如,可以使用以下语句创建一个名为"first_Day"的数据库: ``` CREATE DATABASE first_Day; ``` 5. 使用数据库:创建数据库后,可以使用以下语句选择要使用的数据库: ``` USE first_Day; ``` 6. 创建表:在选定的数据库中,可以使用SQL语句创建表格来存储数据。例如,可以使用以下语句创建一个名为"users"的表格: ``` CREATE TABLE users ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50), age INT ); ``` 7. 插入数据:在创建表格后,可以使用INSERT语句向表格中插入数据。例如,可以使用以下语句向"users"表格中插入一条记录: ``` INSERT INTO users (name, age) VALUES ('John', 25); ``` 8. 查询数据:可以使用SELECT语句从表格中查询数据。例如,可以使用以下语句查询"users"表格中的所有记录: ``` SELECT * FROM users; ``` 9. 更新数据:使用UPDATE语句可以更新表格中的数据。例如,可以使用以下语句将"users"表格中id为1的记录的age字段更新为30: ``` UPDATE users SET age = 30 WHERE id = 1; ``` 10. 删除数据:使用DELETE语句可以删除表格中的数据。例如,可以使用以下语句删除"users"表格中id为1的记录: ``` DELETE FROM users WHERE id = 1; ``` 以上是MySQL的一些基本操作,希望对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值