day 5 note 数字和列表
day 5 note 数字和列表
1. 数字相关类型 (int, float, bool, complex)
1. int(整型) - 所有的整数对应的类型
1)表示: 数字直接写
2)转换:int(数据)
不是所有的数据都可以转换成整数,只有浮点数、布尔、部分字符串
*python 2. x 中整数有两种类型:int、long
浮点数转换成整数:直接去掉小数部分,保留整数部分
print(int(12.5)) # 12
print(int(1.9)) # 1
print(int(-1.9)) # -1
布尔转整数
print(int(True)) # 1
print(int(False)) # 0
字符串转整数 - 弃掉引号后本身就是一个整数的字符串才能转换成整型
print(int('a b c')) # 报错print(int('7823')) # 7823print(int('12.5')) # 报错
2. float(浮点数) - 所有小数对应的类型
“”"
1)表示:直接表示, 支持科学计数法
2)转换:float(数据)
不是所有数据都可以转换成浮点型,只有整数、布尔和部分字符串可以转
print(float(10)) # 10.0
print(float(123)) # 123.0
print(float(True)) # 1.0
字符串转浮点型 - 去掉引号以后本身是有效数字的字符串都可以转换成浮点型
print(float('a b c')) # 报错print(float('123')) # 123.0
print(float('0.12')) # 0.12
print(float('3 e 4')) # 30000.0
3. bool (布尔)
“”"
1)表示:直接写 - True、False
2)转换:bool(数据)
所有的数据都可以转换成布尔;零值和空值会转换成False, 其他的都是True
“”"
print(bool(-123)) # True
print(bool(0)) # False
print(bool(0.0)) # False
print(bool(''), bool("")) # False False
print(bool([])) # Falseprint(True + 1) # 2
print(False*10) # 0
4.*complex(复数) - 由实部和虚部组成的数
1)虚数单位是: j
2)虚部的1不能省
3)直接支持复数的运算
num 1 = 10+20 j
print(1 j**2) # (-1+0 j)num2 = 3 - 5 j
print(num 1 + num 2) # 13+15 j
print(num 1 * num 2) # (130+10 j)
2. 列表 ( list )
1.什么是列表(list)
*列表是容器型数据类型;*将[ ]作为容器的标志,里面多个元素用逗号隔开: [元素1, 元素2, 元素3,…]
元素:列表中的元素可以是任何类型的数据; 同一个列表中的元素的类型可以不同
特点:1.可变的(指的是元素的个数、元素的值和元素的顺序可变);2.有序的(元素有表示顺序的编号)
“”"
a = [ ] a是一个空列表b = [ 100, 200, True, 'a b c' ]
c = [ 100, 200, ['a b c', 123] ]
元素的要求:任何类型的数据都可以作为列表的元素
d = [100,12.5, 'a b c',
[1, 2],
(10, 20),
{'name': '余婷', 'age': 18},
{1, 5},
lambda x: x**2]print(type(d)) # <class 'list'>
print(b)
练习:定义变量保存一个班所有学生的成绩
方法一:score 1 = 90 , score 2 = 78 score 3 = 56 , score 4 = 98, score 5 = 99 , score 6 = 70方法二:scores = [90, 78, 56, 98, 99, 70]------
3. 获取列表元素
1.获取单个元素
“”"
语法:列表[下标] - 获取指定下标对应的元素
**说明:**列表 - 任何结果是列表的表达式(具体的列表数据、保存列表数据的变量、…)
[ ] - 固定写法:
下标 - 又叫索引;它是元素在容器中的位置标志(元素在容器中的顺序值)
下标值的范围有两种:
1)从0开始不断加1的下标值, 其中0表示第一个、1表示第二个、…
2)从-1开始不断减1的下标值,其中-1表示倒数第一个、-2表示倒数第二个、…
注意:下标不能越界
list1 = [10, 20, 30, 'a b c']print(list1[1], list1[-3])
print(list1[-1], list1[3])print(list1[10]) # IndexError: list index out of rangeprint(l ist1[-5]) # IndexError: list index out of range
2. 获取部分元素(列表切片) - 同时获取列表中的多个元素
1)语法:列表[开始下标:结束下标:步长]
2)规则:
a.如果步长为正,表示从前往后取(从开始下标到结束下标), 开始下标对应的元素能取到,结束下标对应的元素取不到
b.如果步长为负,表示从后往前取(从开始下标到结束下标), 开始下标对应的元素能取到,结束下标对应的元素取不到
“”"
movies = ['阿甘正传', '肖生克的救赎', '当幸福来敲门', '霸王别姬', '花样年华', '人在囧途']
print(movies[1:5:1]) # ['肖生克的救赎', '当幸福来敲门', '霸王别姬', '花样年华']
print(movies[1:-1:1]) # ['肖生克的救赎', '当幸福来敲门', '霸王别姬', '花样年华']
print(movies[5:1:1]) # []
print(movies[5:1:-1]) # ['人在囧途', '花样年华', '霸王别姬', '当幸福来敲门']
print(movies[5:1:-2]) # ['人在囧途', '霸王别姬']
print(movies[1:-1:-2]) # []
print(movies[1:-2:1]) # ['肖生克的救赎', '当幸福来敲门', '霸王别姬']
print(movies[-1:-5:-2]) # ['人在囧途', '霸王别姬']
print(movies[-4:2:1]) # []**1)省略步长: 列表[开始下标:结束下标]
**
省略步长就相当于步长为1: 列表[开始下标:结束下标] == 列表[开始下标:结束下标:1]
names = ['海贼王', '火影', '死神', '妖精的尾巴', '柯南', '犬夜叉', '进击的巨人', '一人之下']
print(names[1:-2]) # ['火影', '死神', '妖精的尾巴', '柯南', '犬夜叉']
print(names[-1:5]) # []
2)省略开始下标: 列表[:结束下标:步长] / 列表[:结束下标]
“”"
如果步长为正,省略开始下标表示从第一个元素开始往后取,取到结束下标对应的位置
如果步长为负,省略开始下标表示从最后一个元素开始往前取,取到结束下标对应的位置
“”"
print(names[:-2]) # ['海贼王', '火影', '死神', '妖精的尾巴', '柯南', '犬夜叉']
print(names[:5:2]) # ['海贼王', '死神', '柯南']
print(names[:-3:-1]) # ['一人之下', '进击的巨人']
3)省略结束下标: 列表[开始下标::步长] / 列表[开始下标:]
如果步长为正,省略结束下标,从开始下标取到最后一个元素
如果步长为负,省略结束下标,从开始下标取到第一个元素
“”"
names = ['海贼王', '火影', '死神', '妖精的尾巴', '柯南', '犬夜叉', '进击的巨人', '一人之下']
print(names[2:]) # ['死神', '妖精的尾巴', '柯南', '犬夜叉', '进击的巨人', '一人之下']print(names[-3::-1]) # ['犬夜叉', '柯南', '妖精的尾巴', '死神', '火影', '海贼王']print(names[4::-2]) # ['柯南', '死神', '海贼王']print(names[-2::-3]) # ['进击的巨人', '妖精的尾巴', '海贼王']
4)同时省略开始下标和结束下标:列表[::步长] / 列表[:]
开始下标和结束下标都省,那么整个选择范围就是原列表
print(names[::-1]) # 倒序 ['一人之下', '进击的巨人', '犬夜叉', '柯南', '妖精的尾巴', '死神', '火影', '海贼王']
print(names[::-2]) # ['一人之下', '犬夜叉', 妖精的尾巴', '火影']
print(names[:]) # ['海贼王', '火影', '死神', '妖精的尾巴', '柯南', '犬夜叉', '进击的巨人', '一人之下']
3.遍历(一个一个的把所有元素取出来)
方法一: 直接遍历出列表中的元素
for 元素 in 列表:
循环体
(变量取到的就是列表中的元素)
方法二:通过遍历获取所有元素的下标来遍历元素
for 下标 in range(列表长度):
列表[下标]
方法三(了解)
for 下标, 元素 in enumerate(列表):
循环体
games = [‘斗地主’, ‘欢乐麻将’, ‘开心消消乐’, ‘三国杀’, ‘王者荣耀’, ‘英雄联盟’]
1)直接获取元素(掌握)
for item in games:print('item:', item)
2)直接获取下标,通过下标获取元素(掌握)
len(列表) - 获取列表中元素的个数for index in range(len(games)):print('下标:', index, '元素:', games[index])
3)同时获取下标和元素(了解)
for index, item in enumerate(games):print('index:', index, 'item:', item)enumerate(games) -> [(0, '斗地主'), (1, '欢乐麻将'),... ]for x in [12, 34, 45]:print(x)for x, y in [(1, 2), [10, 20], 'ab']:print('x y:', x, y)for x,y,z in [(1, 2, 3), (10, 20, 30), 'a b c', ['name', 'age', 'sex']]:print('x y z:', x, y, z)scores = [10, 78, 90, 8, 77, 65, 100] -> ['不及格', 78, 90, '不及格', 77, 65, 100]练习:1)用一个列表保存一个班10个学生的成绩scores = [45, 89, 78, 90, 65, 70, 23, 57, 100, 66]2)计算10个学生的总成绩3)计算10个学生的平均成绩length = len(scores)
sum 1 = 0
for item in scores:sum 1 += item
print('总成绩:', sum 1, '平均成绩:', sum 1 / length)4)统计不及格学生的人数count = 0
for item in scores:if item < 60:count += 1
print('不及格人数:', count)5)获取10个学生成绩最高成绩的值max 1 = scores[0] # 假设第一个元素的值最大
for item in scores[1:]:if item > max 1:max 1 = item
print('最高分:', max 1)
4. 元素的增删改
1. 增 - 添加元素
1) 列表.append(元素) - 在列表的最后添加指定元素
names = ['余婷', '张瑞燕', '迪丽热巴', '古力娜扎']
print(names) # ['余婷', '张瑞燕', '迪丽热巴', '古力娜扎']names.append('蔡徐坤')
print(names) # ['余婷', '张瑞燕', '迪丽热巴', '古力娜扎', '蔡徐坤']
2) 列表.insert(下标, 元素) - 在指定下标对应的元素前插入指定元素
names.insert(2, ' 杨幂 ')
print(names) # ['余婷', '张瑞燕', '杨幂', '迪丽热巴', '古力娜扎', '蔡徐坤']names.insert(0, '胡歌') # ['胡歌', '余婷', '张瑞燕', '杨幂', '迪丽热巴', '古力娜扎', '蔡徐坤']
print(names)names.insert(-1, '彭于晏')
print(names) # ['胡歌', '余婷', '张瑞燕', '杨幂', '迪丽热巴', '古力娜扎', '彭于晏', '蔡徐坤']
2. 删 - 删除元素
1) del 列表[下标]
names = ['胡歌', '余婷', '张瑞燕', '杨幂', '迪丽热巴', '古力娜扎', '彭于晏', '蔡徐坤']
**del names[3]**
print(names) # ['胡歌', '余婷', '张瑞燕', '迪丽热巴', '古力娜扎', '彭于晏', '蔡徐坤']**del names[-1]**
print(names) # ['胡歌', '余婷', '张瑞燕', '迪丽热巴', '古力娜扎', '彭于晏']del names[7] # Index Error: list assignment index out of range**del names** # 删除整个列表
2) 列表.remove(元素) - 删除列表中指定的元素
a.如果元素不存在会报错
b.如果元素有多个,只删第一个
names = ['胡歌', '余婷', '张瑞燕', '杨幂', '迪丽热巴', '古力娜扎', '彭于晏', '迪丽热巴', '蔡徐坤', '迪丽热巴']
names.remove('杨幂')
print(names) # ['胡歌', '余婷', '张瑞燕', '迪丽热巴', '古力娜扎', '彭于晏', '迪丽热巴', '蔡徐坤', '迪丽热巴']names.remove('朱茵') # ValueError: list.remove(x): x not in listnames.remove('迪丽热巴')
print(names)
3) 列表.pop( ) - 取出列表中最后一个元素, 并返回
列表.pop(下标) - 取出列表中指定下标对应的元素, 并返回(下标不能越界)
names = ['胡歌', '余婷', '张瑞燕', '杨幂', '迪丽热巴', '古力娜扎', '彭于晏', '蔡徐坤']
del_name = names.pop()
print(names, del_name) # ['胡歌', '余婷', '张瑞燕', '杨幂', '迪丽热巴', '古力娜扎', '彭于晏'] 蔡徐坤del_name = names.pop(-2)
print(names, del_name) # ['胡歌', '余婷', '张瑞燕', '杨幂', '迪丽热巴', '彭于晏'] 古力娜扎作业1:用一个列表保存学生的分数,删除列表中所有低于60分的成绩scores = [90, 45, 52, 10, 89, 67, 55, 32, 69, 100]最终结果: [90, 89, 67, 69, 100]
3. 改 - 修改元素的值
语法:列表[下标] = 新元素 - 修改指定下标对应的元素(下标不能越界)
teleplays = ['琅琊榜', '亮剑', '庆余年', '爱情公寓', '人民的名义', '甄嬛传', '请回答1988']
teleplays[3] = '爱情公寓4'
print(teleplays)
练习:scores = [10, 78, 90, 8, 77, 65, 100] -> [‘不及格’, 78, 90, ‘不及格’, 77, 65, 100]
方法一:
scores = [10, 78, 90, 8, 77, 65, 100]
for index, item in enumerate(scores):if item < 60:scores[index] = '不及格'print(scores) # ['不及格', 78, 90, '不及格', 77, 65, 100]
#方法二:
scores = [10, 78, 90, 8, 77, 65, 100]
new_scores = [ ]
for item in scores:if item < 60:new_scores.append('不及格')else:new_scores.append(item)
print(new_scores) # ['不及格', 78, 90, '不及格', 77, 65, 100]
day 5 note 数字和列表相关推荐
- 5数之和python_Python基本语法5:数字和列表,基础,五
1.数字类型 python中的数字类型: int float bool complex(复数) 1.int 所有整数对应的类型 2.float 所有小数对应的类型,支持科学计数法 3.bool Tru ...
- python创建数字列表_Python 生成一个从0到n个数字的列表4种方法小结
Python 生成一个从0到n个数字的列表4种方法小结 我就废话不多说了,直接上代码吧! 第一种 def test1(): l = [] for i in range(1000): l = l + [ ...
- 数字和列表day0607
数字和列表 Python中的数字类型:int(整型).float(浮点型).bool(布尔).complex(复数) int(整型) 所有整数对应的类型.(注意:在Python2.x有long) 2. ...
- 6-Python数字和列表
1.数字类型 python中的数字类型: int(整型).float(浮点型).bool(布尔).complex(复数) 1.1 int(整型) 所有整数对应的类型.(注意:在python2.x有lo ...
- Google Earth Engine(GEE)扩展——geetool中的的各类型的其它函数(字符串、数字、列表、字典、几何、特征、影像、地图和特征集合)
geetool中的的各类型的其它函数(字符串.数字.列表.字典.几何.特征.影像.地图和特征集合) 除了下面这个数字不知道如何使用外,其它的都可以: 这个随机数产生不知道如何使用/// //随机数字产 ...
- Day4-Day5数字和列表
Day4-Day5数字和列表 01-python数字的类型 类型:int(整型).float(浮点型).bool(布尔).complex(复数) int(整型) - 所有整数对应的类型 python只 ...
- python100day - 04day数字和列表
python100day - 04day数字和列表 一.数字的相关类型 python中和数字相关的类型:int(整型).float(浮点型).bool(布尔).complex(复数) 1.int(整型 ...
- python怎么将输入的数字变成列表_Python键盘输入转换为列表的实例
Python输入字符串转列表是为了方便后续处理,这种操作在考试的时候比较多见. 1.在Python3.0以后,键盘输入使用input函数 eg1. >>> x=input >& ...
- python输入一组数字存到列表_Python如何使用输入传递多个值并将它们存储在一个列表中(简单版本),python,怎么,input,传入,储存,到...
Python如何使用输入传递多个值并将它们存储在一个列表中(简单版本),python,怎么,input,传入,储存,到 发表时间:2020-08-20 当传入多个值时,需要使用split()函数来切割 ...
最新文章
- <utility><xutility>模板常见操作方法
- arm汇编指令_ARM汇编伪指令介绍.
- hdu1010深搜+奇偶剪枝
- 阿里云服务器安全设置
- c html联调,JS与native 交互简单应用
- 《深度学习笔记》——在训练过程中出现nan的调试笔记
- scala中的match
- memcached 命令_Memcached Telnet命令示例
- 计算机网络软考英语题,计算机软考网络工程师必备英语词汇全集(中级)
- 基于STM32F4实现FOC(磁场定向控制)一:电流采样和波形产生
- 导出excel 并且处理长数字,处理科学计数法,以文本形式存储的数字
- 调音台、声卡、视频采集卡技术参数
- 全国物流企业有哪些 物流企业详细信息怎么查询
- 剑指Offer对答如流系列 - 用两个栈实现队列
- 汉医健康:“互联网+医疗健康”让患者更有“医”靠
- 简单内存泄漏检测方法,解决Detected memory leaks!问题 .
- word 标尺排版使用技巧
- IE10,带您走进HTML5时代
- 下载python的三个版本选择
- DOM-21【键盘事件、贪吃蛇运动原理】
热门文章
- linux查看日志保留时间多长的命令,Linux常用的日志查看命令
- 按键精灵脚本打包工具(自带热更新功能)方便有需要的人有教程有链接
- 把xml数据集 转为 BDD100K 的json数据格式
- Java程序员开发编程常用的工具
- 先有鸿蒙后有天 华为,见风使舵墙头草,昔日代工巨头对华为翻脸不认,如今沦落至此...
- android listview排序分组,Android:如何对ListView的数据进行排序?
- 暗黑3服务器维护什么,暗黑3亚服维护近24小时 将封10万账号
- WebSecurity
- 学会用hijackthis看日志
- 数据治理系列3:数据标准管理