文章目录
python基础-字符串、列表、字符串
一、字符串(String):
在python中,除了整数和浮点数外,还有字符串。任何被单引号或者双引号括起来的内容都可以人为是字符串,字符串也可以复制给变量;
string_1 = '我是字符串' #字符串中可以是任意的内容
string_2 = '' #空字符串
string_3 = ' ' #字符串中是空格
二、列表(list):
- 列表是Python中的一个对象,由方括号和括起来的数据组成。
- 对象(object)就是内存中专门用来存储数据的一块区域
- 列表中可以保存多个有序的数据,数据的类型可以是整数、浮点数、字符串、也可以是列表或者其他数据。
- 列表是用来存储对象的容器。
- 列表中的每一项叫做列表的元素,每个元素之间使用 英文逗号隔开。
- 列表创建方法:
list _1 = [] # 创建了一个空列表
list_2 = [1,2,3,4,5] #创建一个有五个元素的列表,五个元素都是数字
list_3 = [123 , '嘻嘻哈哈',[123,'ded'] ] #创建一个多钟元素混合的列表
三、元组(Tuple):不可变序列
元组是Python里面的容器之一。有小括号和小括号里面的数据构成,它的外形和列表非常相似,只不过列表是使用方括号,而元组使用的是小括号,元组中的元和二元一次方程中的元是同一个意思,组就是组合的意思。
一般当我们希望数据不改变时,就使用元组,其余情况都使用列表。
创建元组
# 创建元组
# 使用()来创建元组
my_tuple = () # 创建了一个空元组
# print(my_tuple,type(my_tuple)) # <class 'tuple'>
my_tuple = (1,2,3,4,5) # 创建了一个5个元素的元组
# 元组是不可变对象,不能尝试为元组中的元素重新赋值
# my_tuple[3] = 10 TypeError: 'tuple' object does not support item assignment
# print(my_tuple[3])
# 当元组不是空元组时,括号可以省略
# 如果元组不是空元组,它里边至少要有一个英文逗号
my_tuple = 10,20,30,40
my_tuple = 40,
# print(my_tuple , type(my_tuple))
- 元组和列表的区别:列表生成以后,还可以往里面继续添加数据。也可以从里面删除数据。元组一但生成就不能修改。如果里面只有整数,浮点数,字符串,另一个元组,就既不能添加数据也不能删除数据。还不能修改里面的数据的值。如果元组里面包含了一个列表,那么这个元组里面的列表依旧可以变化。
四、数据的读取:
1.切片
切片是指从现有的列表中,获取一个子列表
创建一个列表时,一般变量名使用复数
列表的索引可以是负数
如果索引是负数,则从后向前获取元素,-1表示倒数第一个,-2表示倒数第二个 以此类推
通过切片来获取指定的元素
语法:
列表[起始:结束:步长]
- 通过切片获取元素时,会包括起始位置的元素,不会包括结束位置的元素
- 做切片操作时,总会返回一个新的列表,不会影响原来的列表
- 起始和结束位置的索引都可以省略不写
- 如果省略结束位置,则会一直截取到最后
- 如果省略起始位置,则会从第一个元素开始截取
- 如果起始位置和结束位置全部省略,则相当于创建了一个列表的副本
- 步长可以是负数(从后向前取元素),但是不可以为零。
2.通用操作
1. + 可以将两个列表拼接为一个列表
# my_list = [1,2,3] + [4,5,6]
2. * 可以将列表重复指定的次数
# my_list = [1,2,3] * 5
3. in 用来检查指定元素是否存在于列表中
如果存在,返回True,否则返回False
4. not in 用来检查指定元素是否不在列表中
如果不在,返回True,否则返回False
5. len()获取列表中的元素的个数
6. min() 获取列表中的最小值
7. max() 获取列表中的最大值
8. s.index() 获取指定元素在列表中的第一次出现时索引
index()的第二个参数,表示查找的起始位置 , 第三个参数,表示查找的结束位置
如果要获取列表中没有的元素,会抛出异常
9. s.count() 统计指定元素在列表中出现的次数
3.修改元素(只适用于可变序列)
- 通过索引修改元素
- 通过 del 删除元素
- 通过切片来修改列表
- 使用 append() 向列表的最后添加一个元素
- insert() 向列表的指定位置插入一个元素
参数:
1.要插入的位置
2.要插入的元素
stus.insert(2,‘嘻嘻哈哈哈’) - extend() 使用新的序列来扩展当前序列,需要一个序列作为参数,它会将该序列中的元素添加到当前列表中
stus.extend([‘唐僧’,‘白骨精’])
stus += [‘唐僧’,‘白骨精’] - clear() 清空序列
stus.clear() - pop() 根据索引删除并返回被删除的元素
result = stus.pop(2) # 删除索引为2的元素
result = stus.pop() # 删除最后一个
print('result =',result)
- remove()
删除指定值得元素,如果相同值得元素有多个,只会删除第一个
stus.remove(‘嘻嘻哈哈’) - reverse() 用来反转列表
stus.reverse() - sort()
用来对列表中的元素进行排序,默认是升序排列
如果需要降序排列,则需要传递一个reverse=True作为参数
4.遍历列表
遍历列表:将列表中的所有的元素都取出来
方法一:
# 通过while循环来遍历列表
i = 0
while i < len(stus):
print(stus[i])
i += 1
方法二:
通过for循环来遍历列表
语法:
for 变量 in 序列 :
代码块
for循环的代码块会执行多次,序列中有几个元素就会执行几次
没执行一次就会将序列中的一个元素赋值给变量,
所以我们可以通过变量,来获取列表中的元素
range函数介绍:用来生成一个自然数的序列。
该函数需要三个参数
- 起始位置(可以省略,默认是0)
- 结束位置
- 步长(可以省略,默认是1)
#创建示例
r = range(5) # 生成一个这样的序列[0,1,2,3,4]
r = range(0,10,2)
r = range(10,0,-1)
- 通过range()可以创建一个执行指定次数的for循环
5.解包(解构)
解包指就是将元组当中每一个元素都赋值给一个变量
a = 100
b = 300
# print(a , b)
# 交互a 和 b的值,这时我们就可以利用元组的解包
a , b = b , a
# print(a , b)
# 在对一个元组进行解包时,变量的数量必须和元组中的元素的数量一致
# 也可以在变量前边添加一个*,这样变量将会获取元组中所有剩余的元素,但是不能同时出现两个或以上的*变量