人生苦短,我学python
- 一、序列简介
- 二、列表和元组
- 三、 序列类型基本操作
-
- 1、下标
-
-
- 1.1正向下标
- 1.2 反向下标
-
-
- 2、切片
- 3、成员运算符
- 4、序列运算
- 5、序列常用内置函数
-
-
- 5.1 len()
- 5.2 max()和min()
- 5.3 sum()
- 5.4sorted()
-
- 本章小结
一、序列简介
数值类型:可以表示数值
int 整型 = 整数
float 浮点型 = 小数
bool 布尔型 = 用于判断/也可以作为数值进行运算
str 字符串 -> 数字 字母,特殊符号,中文等数据
list 列表
tuple 元组
序列是指可以存放多个数值的连续内存空间,这些值是按照一定顺序排列,可以通过每个值所在位置的下标访问它
二、列表和元组
列表是python一种数据类型,list是一个有序可以装各种数据类型的容器。
list的创建:
直接使用[]括起来,各个元素使用英文逗号分隔开
name_list = ['摆烂阳', '从不吃晚饭', True, 123, 1.1] print(name_list)
range() 函数 : 可以根据给定的参数来生成整数序列, 返回的迭代器
迭代器是需要转换成列表才能查看
具体语法:
range(start,stop) # start 和 stop 代表2个参数 # start 开始 # stop 结束 # 注意:包头不包尾,从start开始到stop结束 [start,stop) # start <= x < stop , x ∈ z # 生成 1~1000 的列表 n = list(range(1, 1001)) # 由于不包尾,所以1001取不到,只会取到1000 print(n) 0 # 生成 0 ~ 100 之间的偶数 range(start,stop,step=1) # start 开始 # stop 结束 # step 步长 # 生成 0 ~ 100 之间的偶数 li = list(range(0, 104, 2)) print(li) # 输出 1 ~ 100 中 7的倍数 # 第一步 确定头尾 # 第二步 跨步 li2 = list(range(0, 101, 7)) print(li2) # 凡是有 固定的 差值的 整数,都可以使用range生成 如果希望生成降序的整数序列,步长可以改为负数 # 10 ~ 1 列表 li = list(range(10, 0,-1)) # 10头 0尾 print(li) # 生成列表 8 6 4 2 0 s = list(range(8,0,-2)) print(s)
元组跟列表基本一样,都可以用来存储多个数据,最大的区别是列表可以修改,而元组是不行,元组最大特色是不能修改
元组的创建
() 英文括号括起来,每个元素用逗号隔开
111 = (1,2,3,4,"摆烂阳") print(111) print(type(111))
配合range()函数,再用tuple类型转换
t = tuple(range(1,101)) print(t)
三、 序列类型基本操作
序列类型:list,tuple,str
1、下标
1.1正向下标
在序列类型中每一个元素都会存在一个下标,下标是从左往右默认从0开始。可以通过下标去提取元素
语法格式:
# 提取方式:序列[下标] # 注意这里是 [] 只有函数的后面才跟() s = "Python" # 下标 = 第几个 - 1 print(s[3]) print(s[4]) print(s[5]) print(s[6]) # 访问元素时不可以超过最大下标,超过则报错 嵌套列表的提取,比方说提取 摆 lis = [2, 4, 6, ["摆","烂"], 8] mj = lis[3] # mj = ["摆","烂"] print(mj[0])
1.2 反向下标
反向下标和正向下表不同的地方在于反向下标是从右至左开始,右边第一位的值为-1
s = "python3" # 此时提取 t # 正向 2 反向 -5 print(s[2]) # print(s[-5])
2、切片
在Python中, 切片 (slice) 是对序列型对象 (如 list, string, tuple)的一种高级索引方法。 普通索引只取出序列中 一个下标 对应的元素,而切片取出序列中 一个范围 对应的元素,这里的范围不是狭义上的连续片段。
如果想截取序列中的一段序列,就可以使用切片
例如:
L = ["稿子", "斧头", "铁锹", "AK47", "98K", "锄头"] # 提取出 枪械武器类别 到新列表中 # 切片语法 序列[start:stop:step] # 和range有点相似,同样是包头不包尾 L = ["稿子", "斧头", "铁锹", "AK47", "98K", "锄头"] print(L[3:5]) s = "hello world!" # hello # 1.先确定h的下标 0 # 2.再确定o的下标 4 # 不包尾 + 1 print(s[0:5]) # hlo # 1.先确定头的下标 0 # 2.再确定尾的下标 4+1 # 3.在确定步长 2 print(s[0:5:2]) s = "hello world!" print(s[:]) # 头部参数如果没写,默认是从头开始切 # 尾部参数如果没写,默认切到底 s = "hello world!" # 反转序列类型 print(s[::-1]) # 如果说步长是负数的话,头就是右边,尾就是左边
3、成员运算符
in : 属于
not in : 不属于
运算符 | 描述 | 实例 |
in | 如果在指定的序列中找到值返回 True,否则返回 False。 | x 在 y 序列中 , 如果 x 在 y 序列能找到,则返回 True。 |
not in | 如果在指定的序列中没有找到值返回 True,否则返回 False。 | x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。 |
s = "Hello My friend" print("H" in s) print(" " in s) # 字符串中 空格也算做一个字符 print("h" in s) # False print("ll" in s) # True print("fr " in s) print("Hlo" in s) # 不行 得连续
4、序列运算
序列类型 只能做 加法 和 乘法
序列的相加 就是 两边 拼接
序列的相乘 就是 重复和自己拼接
s1 = "摆烂阳" s2 = "从不吃晚饭" list1 = ["摆烂阳"] list2 = ["从不吃晚饭"] print(s1 + s2) # 直接拼接 print(list1 + list2) # 直接合并 print(list1 * 5) # ['摆烂阳', '摆烂阳', '摆烂阳', '摆烂阳', '摆烂阳']
5、序列常用内置函数
什么是内置函数
python官方提供好的功能,可以直接拿来使用,比如print,input
函数 | 功能 |
len() | 计算序列的长度,即返回序列中包含多少个元素。 |
max() | 找出序列中的最大元素。 |
min() | 找出序列中的最小元素。 |
sum() | 计算元素和。 |
sorted() | 对元素进行排序。 |
学内置函数主要学这2点
1.函数的功能
2.函数的参数
5.1 len()
len(seq): 计算序列的长度,即返回序列中包含多少个元素
seq:序列 s = "hello,world" print(len(s)) li = [1,2,3,4,"摆烂阳"] print(len(li))
5.2 max()和min()
max(seq) 找出序列中的最大元素。
min(seq) 找出序列中的最小元素。
seq:序列 li = [2, 4, 0, 6, 3, 5] print(max(li)) print(min(li))
5.3 sum()
sum(seq): 求序列元素的和
seq:序列 li = [2, 4, 0, 6, 3, 5] print(sum(li))
5.4sorted()
sorted(seq) 对元素进行排序。
升序 sorted(seq)
降序 sorted(seq,reverse=True)
li = [2, 4, 0, 6, 3, 5] print(sorted(li)) print(sorted(li,reverse=))
发表评论