列表&布尔和空值&Number
一、列表list
1.概述
变量:使用变量存储数据, 但是存在一个缺点: 一个变量一次只能存储一个数据
若要存储多个数据: 一般使用列表
列表本质上面是一个有序的集合.
list1 = ["幻影","兰博基尼","迈巴赫","玛莎拉蒂","布加迪威龙","红旗","唐","宋","元","汉","秦",123,True] print(list1)
2.创建列表
语法:
变量名 = 列表
列表名称 = [数据1,数据2........]
说明: 使用 [ ] 表示创建列表
列表中存储的数据为元素
列表中的元素从头到尾进行了编号.编号从0开始, 这个编号被称为下标 或者 索引 或者 角标
索引的取值范围: 0 ~~~~ 元素的个数 - 1
超过索引的范围:列表越界
代码演示:
1.创建列表 list1 = [] 空列表 2.带元素的列表 list2 = ["五菱宏光","哈弗H6","大狗","欧拉",True] 3.列表中的元素可以是不同的数据类型 list3 = [12,3.13,True,False,"hello","米西米西"] 注意: 将数据保存到列表的时候,不用考虑列表的大小,如果数据很大的话,底层会进行自动扩容.
3.列表元素的访问
3.1获取元素
访问方式:通过索引访问列表中的元素【有序,索引:决定了元素在内存中的位置】
list2 = ["五菱宏光","哈弗H6","大狗","欧拉",True] list2[0] 表示第一个元素 list2[-1] 表示最后一个元素 len(list2) 表示获取列表元素的个数 list2[11]
3.2替换元素(修改元素的值)
语法:列表名[索引] = 值
注意:列表中存储的是其实是变量,所以可以随时修改值
代码演示:
list2 = ["五菱宏光","哈弗H6","大狗","欧拉",True] # 修改列表元素 语法:列表名[索引] = 值 print(list2) list2[2] = "天狗" print(list2)
3.3 遍历列表
list3 = ["肠粉","佛跳墙","白切鸡","云吞"] ''' # 第一种方式: for i in list3: print(i) # 第二种方式: 通过索引的方式访问元素 for i in range(len(list3)): print(list3[i]) ''' # 第三种方式:enumrate() 同时遍历索引和元素 for index,value in enumerate(list3): print(index,value)
4.列表的操作
1.1列表元素组合
代码演示:
合并列表: 通过 + 实现 list = [12,34,6,8,3.13] list1 = ["荔枝","龙眼","桂圆","榴莲","芒果"] print(list,list1) # 通过 + 实现列表的合并 list + list1 list2 = list + list1 print(list2)
1.2列表元素重复
代码演示:
重复输出列表中的元素: 通过 * 实现 list = [1,2,3] list1 = list * 4 print(list1)
1.3判断元素是否在列表中
代码演示:
判断指定元素是否在列表中,使用成员运算符检查 in 和 not in 返回值是一个布尔类型 True和False list1 = [12,34,4.12,"haha","lele","hehe"] print(12 in list1) # True if "haha" in list1: print("字符串在列表中") else: print("不在列表中")
1.4列表截取【切片】
代码演示:
list2 = [13,45,2,35,7,9] # 语法: 列表名[开始下标:结束下标] 特点: 前闭后开 包含开始下标的元素不包含结束下标的元素 print(list2[1:6]) print(list2[:4]) # [13, 45, 2, 35] print(list2[1:]) # [45, 2, 35, 7, 9] print(list2[:]) # [13, 45, 2, 35, 7, 9] print(list2[-2:]) # [7, 9]
5.列表的功能【掌握】
Python内置的功能【函数】
用法
代码演示:
# 1.添加元素 ''' # a. append() 向列表的尾部追加元素 list1 = ["香妃","妲己","赵飞燕","杨贵妃","东施"] print(list1) # 追加单个元素 list1.append("西施") # 追加多个元素的时候,不能直接追加,必须使用列表的方式追加,原列表变成了二维列表 list1.append(["王昭君","貂蝉","大小乔"]) print(list1) # b.extend 用于在列表末尾一次追加另一个列表中的多个元素 list1 = ["香妃","妲己","赵飞燕","杨贵妃","东施"] list1.extend(["乾隆","商纣王","汉昭帝","唐玄宗","解博超"]) list1.extend("秦始皇") # "秦" "始" "皇" print(list1) # c.insert() 在列表中指定的索引处插入元素,后面的其他的元素依次后延 list2 = ["秦始皇","汉武帝","曹操","刘备","孙权"] list2.insert(1,"刘邦") # 若想一次性插入多个元素使用列表的形式插入 原列表会变为二维列表 list2.insert(3,["诸葛亮","马超"]) print(list2) ''' #2. 删除元素 list2 = ["秦始皇","汉武帝","曹操","刘备","孙权"] ''' # pop() 传输的参数是下标 不传参数的时候,默认移除最后一个元素,返回的是原列表 print(list2) # list2.pop() ["秦始皇","汉武帝","曹操","刘备"] list2.pop(2) # ['秦始皇', '汉武帝', '刘备', '孙权'] print(list2) ''' ''' # remove() 传输的参数是指定移除的元素 list2.remove("刘备") print(list2) ''' # clear() 清空列表 print(list2) list2.clear() print(list2) # [] 3.获取元素 list = [12,34,2,5.23,True,False,"hello"] # print(len(list)) # len 获取列表的长度 # 获取列表中的最大值 max() list1 = [12,3,4,32,98,14,3,78,3,34,3] # print(max(list1)) # 获取列表中的最大值 min() # print(min(list1)) # 获取指定元素的索引 index(元素名称) # print(list1.index(98)) 4.其他用法 # 列表的其他用法 list = [12,42,34,16,87] # print(list) # reverse 翻转列表元素 注意:在原列表的内部进行翻转,不会生成新列表 # list.reverse() # print(list) # sort() 对原列表元素进行排序 默认是升序 不会生成一个新的列表 # 升序 # list.sort() # 降序 在sort函数中传入reverse=True 实现降序 # list.sort(reverse=True) # print(list) # sorted() 对列表元素进行排序,默认是升序, 排序的结果会生成一个新列表 # 升序 # list1 = sorted(list) # 降序 传入reverse=True list1 = sorted(list,reverse=True) #print(list1) list2 = ["a","hello","abe","bc","everyone"] # 按照元素的长度进行排序 list3 = sorted(list2,key=len) print(list3)
6.二维列表
一个列表的元素是一个列表
代码演示:
list = [12,34,6,7,"boy",True] # 一维列表 list1 = [32,14,"girl",False,[16,31,9.12,"haha"]] #二维列表 print(list1[1]) # 14 print(list1[4][2]) # 9.12
二、布尔值和空值
1.布尔值
一个布尔类型的变量一般有两个值,True,False
作用:用于分支和循环语句中作为条件判断
代码演示:
a1 = True a2 = False print(4 > 5)
2.空值
Python中的一种特殊的数据类型,使用None表示
区别与0:0是数字类型,None本身就是一种数据类型
代码演示:
n = None print(n) print(type(n)) # <class 'NoneType'>
三、数字类型Number
1.数字类型分类
1.1整数
可以处理Python中任意大小的整型
代码演示:
# int 整型 num1 = 10 num2 = 23 print(num1,num2) print(type(num1)) # 1.可以连续定义多个同种类型的变量,初始值相同 num3 = num4 = num5 = 99 print(num3,num4,num5) # 2.可以同时定义多个变量,初始值不同 num6,num7 = 87,56 print(num6,num7) # 3.可以交换两个变量的值[掌握] n1 = 22 n2 = 33 temp = n1 n1 = n2 n2 = temp print(n1,n2) # 4.获取变量在内存中的地址 id() n3 = 789 print(id(n3)) # float 浮点型(小数) 注意:浮点数在计算机运算过程中可能会出现四舍五入的情况 float1 = 3.13 print(type(float1))
1.2浮点数
由整数部分和小数部分组成
注意:浮点数在计算机中运算的时候可能会出现四舍五入
2.系统功能
2.1数学功能
abs(x): absolute 求x的绝对值
abs(-10) # 10max(): 求最大值
max1 = max(23,13,7,89,34)min():求最小值
pow(n,m):求一个数的多少次幂
round(x,n):返回浮点数x的四舍五入值,如果给出n值,则表示舍入到小数点后几位
代码演示:
# max() 获取最大数 max1 = max(23,13,7,89,34) print(max1) # min() 获取最小数 min1 = min(23,13,7,89,34) print(min1) # pow(n,m) 求一个数的几次幂 print(pow(2,3)) # 2^3 结果是8 # round(x,n) 表示返回浮点数x的四舍五入的值 如果传入了n,表示的是保留的小数的位数 print(round(78.12345)) # 78 print(round(78.82345)) # 79 print(round(78.12345,3)) # 78.123导入math模块,math.功能名()
import math #导入math模块代码演示:
import math # 导入math模块 # 使用的格式 math.功能名() # 向上取整 math.ceil() n1 = 19.23 print(math.ceil(n1)) # 向下取整 math.floor() print(math.floor(n1)) # 开平方 n2 = 9 print(math.sqrt(n2)) # math.modf()分别获取一个数字的整数部分和小数部分 得到的结果是一个元组 n3 = 17.23 print(math.modf(n3))
2.2随机数random【掌握】
代码演示:
import random # 导入random模块 # 1.从指定列表中随机选择一个元素 random.choice() num = random.choice([12,34,21,78,25,8.23]) print(num) # 2. 列表生成器 list1 = random.choice(range(5)) # 等价于 [0,1,2,3,4] print(list1) # 3.使用字符串 str1 = random.choice("hello") print(str1) # 4.random.randrange(start,end,step) # 生成一个指定范围内的随机数 ''' start:指定范围内开始的值,默认是0 end:指定范围内结束的值,(不包含) step:步长,指定的递增基数 默认值是1 ''' print(random.randrange(1,10,1)) # 随机生成一个1-10之间的数字 print(random.randrange(1,101,2)) # 随机生成一个1-100之间的奇数 # 3. random.random() 随机生成一个0-1之间的数字 结果是浮点数 print(random.random()) # 4.random.shuffle() 将列表中的元素进行随机排序 list1 = [12,8,23,11,85] random.shuffle(list1) print(list1) # 5.random.uniform() 随机生成一个指定范围内的实数,结果是浮点数 print(random.uniform(3,9))