1.数字类型

python中的数字类型: int(整型)、float(浮点型)、bool(布尔)、complex(复数)

1.1 int(整型)

所有整数对应的类型。(注意:在python2.x有long)

1.2 float(浮点型)

所有的小数对应的类型, 支持科学计数法

print(3e4, 4e-2)

1.3 bool(布尔)

只有True和False两个值,其他 True 本质就是数字 1, False 本质是数字 0 。

print(1+1, True + 1, False + 1)

1.4.complex(复数)

包含实部和虚部的数就是复数,对应的数据类型是 complex。
python 中表示复数的时候,虚数单位是 j; j前面如果是1,1不能省

num1 = 10+2j
num2 = 2 - 1j
num3 = 20j
print(type(num1), type(num2))

python支持复数运算

print(num1 + num2)
print(num1 * num2)

10 2
2j -1j
-10j + 20 + 4j + 2 = 22-6j

1.5 数据类型转换

python中所有数据类型的转换方式: 类型名(数据)

  • 1)整型: int(数据) - 将制定的数据转换成10进制的整数
    所有的数字类型对应的数据都可以转换成整型(复数不行),部分字符串也可以转换成整型
    对于字符串来说,去掉引号以后本身是合法的制定进制的整数对应的字符串才能转换成对应的整型
print(int(12.5), int(-12.9))    # 12, -12
print(int(True), int(False))    # 1, 0
print(int('123'))    # 123
print(int('+123'), int('-123'))    # 123 -123
# print(int('123.25'))    # 报错
# print(int('abc'))    # 报错# int(数据,进制数)
print(int('0b1101', 2))
print(int('1101', 2))     # 13
# print(int('1201', 2))   # 报错
  • 2) 浮点型:float(数据)
    整型和布尔都可以转换成浮点型,部分字符串也可以转换成浮点型(去掉引号后本身就是一个合法的浮点型或者整型数据)。
print(float(10))     # 10.0
print(float(True))   # 1.0
print(float('100'))  # 100.0
print(float('12.5'))  # 12.5
# print(float('12.5a'))  # 报错
print(float('3e4'))   # 30000.0
  • 3)布尔:bool(数据)
    所有类型的所有的数据都可以转换成布尔。
    所有零值或者空值会转换成False,其他都是True

2.列表基础

2.1 容器型

容器型数据类型:可以同时保存多个数据的数据。常见的容器型数据类型有:列表、元组、字典、集合、字符串、迭代器、生成器
容器中的每个独立的数据叫元素

2.2 列表

2.2.1 什么是列表

列表是容器型数据类型,将[]作为容器的标志,里面的多个数据(元素)用逗号隔开。比如: [120, 30, 40]
列表是可变的(列表中元素的个数和值可变);列表是有序的

列表中的元素: 可是任何类型的数据;不同元素的类型可以不一样

scores = [90, 89, 67, 90, 56, 88]
print(scores)list1 = [90, 12.89, True, 'abc', [1, 2, 3]]
print(list1)

2.2.2 获取列表元素

  • 1)获取单个元素

语法:
列表[下标]

说明:
列表 - 任何结果是列表的表达式: 独立的列表数据、保存列表的变量、返回值是列表的函数调用表达式、结果是列表的运算表达式
[] - 固定写法
下标 - 想要获取的元素对应的下标

补充:什么是下标
下标又叫索引,是用来表示有序序列中元素的位置(顺序)。
列表中的每个元素都有固定的下标用来表示这个元素在列表中的位置,下标值的范围是从0开始依次增加,其中0表示第一个元素…
列表中的每个元素有两种下标值,一种是正的下标值(从0开始),另一种是负的下标值(从-1开始,依次减少,-1表示是最后一个元素)

注意: 下标不能越界

names = ['张飞', '刘备', '关羽']
print(names[1], names[-2])    # 刘备 刘备
print([1, 2, 3, 4][1])print(names[10])    # IndexError: list index out of range
  • 2)获取部分元素 - 切片

语法:
列表[开始下标:结束下标:步长] - 从开始下标开始,每次下标值增加步长,取到结束下标前为止

说明:
列表 - 任何结果是列表的表达式: 独立的列表数据、保存列表的变量、返回值是列表的函数调用表达式、结果是列表的运算表达式
[] - 固定写法
开始下标、结束下标 - 下标值,整数
步长 - 整数

如果步长是正,表示获取元素的时候是从前往后取, 保证开始下标对应的元素要在结束下标对应的元素的前面,否则切片的结果是[];
如果步长是负,表示获取元素的时候是从后往前取, 保证开始下标对应的元素要在结束下标对应的元素的后面,否则切片的结果是[]。

注意: 切片的时候下标可以越界

nums = [1, 2, 3, 4, 5, 6, 7, 8]
print(nums[1:4:1])    # range(1, 4, 1) -> 1, 2, 3names = ['鲁班7号', '亚索', '妖姬', '盲僧', '狗头']
print(names[1:3:1])      # ['亚索', '妖姬']
print(names[-4:3:1])     # ['亚索', '妖姬']
print(names[1:-1:2])     # ['亚索', '盲僧']
print(names[4:1:1])    # []
print(names[-1:1:1])   # []
print(names[-1:1:-1])  # ['狗头', '盲僧', '妖姬']
print(names[-1:0:-2])    # ['狗头', '妖姬']
print(names[2:5:1])    # ['妖姬', '盲僧', '狗头']
  • 3)切片语法的省略写法

a. 省略步长
列表[开始下标:结束下标] —> 列表[开始下标:结束下标:1]

names = ['鲁班7号', '亚索', '妖姬', '盲僧', '狗头']
print(names[1:4])      # ['亚索', '妖姬', '盲僧']
print(names[-2:4])     # ['盲僧']
print(names[-1:4])     # []

b. 省略开始下标
列表[:结束下标:步长] / 列表[:结束下标]

步长为正, 表示从第一个元素开始往后取
步长为负,表示从最后一个元素开始往前取

movies = ['肖生克的救赎', '乡村老尸', '霸王别姬', '绿里奇迹', '辛德勒的名单', '盗梦空间']
print(movies[:-1])    # ['肖生克的救赎', '乡村老尸', '霸王别姬', '绿里奇迹', '辛德勒的名单']
print(movies[:2:-1])   # ['盗梦空间', '辛德勒的名单', '绿里奇迹']
print(movies[:0:-2])  # ['盗梦空间', '绿里奇迹', '乡村老尸']

c. 省略结束下标
列表[开始下标::步长] / 列表[开始下标:]

步长为正,从前往后取到最后一个元素为止
步长为负,从后往前取到第一个元素为止

print(movies[-3:])    # ['绿里奇迹', '辛德勒的名单', '盗梦空间']
print(movies[-1::2])  # ['盗梦空间']

d. 同时省略开始下标和结束下标
列表[::步长] / 列表[:]

步长为正,从第一个元素取到最后一个元素
步长为负,从最后一个元素取到第一个元素

movies = ['肖生克的救赎', '乡村老尸', '霸王别姬', '绿里奇迹', '辛德勒的名单', '盗梦空间']
print(movies[::-1])    # ['盗梦空间', '辛德勒的名单', '绿里奇迹', '霸王别姬', '乡村老尸', '肖生克的救赎']
print(movies[:])     # ['肖生克的救赎', '乡村老尸', '霸王别姬', '绿里奇迹', '辛德勒的名单', '盗梦空间']
print(movies[::2])   # ['肖生克的救赎', '霸王别姬', '辛德勒的名单']
  • 4)遍历列表 - 将列表中的元素一个一个的取出来

方法一:直接法
for 变量 in 列表:
循环体

方法二:通过下标间接获取
for 下标 in 下标对应的数字序列:
列表[下标]
循环体

movies = ['肖生克的救赎', '乡村老尸', '霸王别姬', '绿里奇迹', '辛德勒的名单', '盗梦空间']
for m in movies:print(m)print('===================================')

len(列表) - 返回列表中元素的个数

for index in range(len(movies)):print(movies[index])

练习1:用一个列表保存一个班所有学生的分数,统计不及格学生的人数
练习2:用一个列表保存一个班所有学生的分数,计算班级学生的平均分

scores = [89, 45, 60, 23, 68, 9, 76]
count = 0
for score in scores:if score < 60:count += 1
print('不及格学生人数:', count)sum1 = 0
for score in scores:sum1 += score
print('平均分:', sum1 / len(scores))

3.列表的操作

3.1 增 - 添加元素

  • 1)append - 追加
    列表.append(元素) - 在指定列表的最后添加指定的元素
list1 = [10, 20, 30]
print(list1)
list1.append(100)
print(list1)
  • 2)insert - 插入
    列表.insert(下标, 元素) - 在指定列表指定下标对应的元素前插入指定的元素
list1 = [10, 20, 30]
list1.insert(1, 100)
print(list1)

练习:不断输入学生的成绩,并且把所有输入的成绩保存在一个列表中。(输入-1表示结束)

请输入成绩: 56
请输入成绩: 90
请输入成绩: 89
请输入成绩: -1

[56, 90, 89]

scores = []
while True:score = int(input('请输入成绩:'))if score == -1:breakelse:# scores.append(score)scores.insert(0, score)
print(scores)

3.2 删 - 删除元素

  • 1) del语句
    del 列表[下标] - 删除列表中指定下标对应的元素(下标不能越界)
teleplays = ['甄嬛传', '大明王朝', '琅琊榜', '庆余年', '还珠格格', '请回答1988']
del teleplays[2]
print(teleplays)del teleplays[-4]
print(teleplays)
  • 2)remove
    列表.remove(元素) - 删除列表中指定的元素(如果指定的元素不存在,程序会报错;如果指定的元素存在多个,只删最前面的那一个)
# teleplays.remove('西游记')   # ValueError: list.remove(x): x not in listteleplays = ['甄嬛传', '大明王朝', '琅琊榜', '庆余年', '还珠格格', '请回答1988', '甄嬛传']
teleplays.remove('甄嬛传')
print(teleplays)
  • 3) pop
    列表.pop() - 取出列表中的最后一个元素,并且返回被取出的元素
    列表.pop(下标) - 取出列表中指定下标对应的元素,并且返回被取出的元素
teleplays = ['甄嬛传', '大明王朝', '琅琊榜', '庆余年', '还珠格格', '请回答1988', '甄嬛传']
t = teleplays.pop(1)
print(teleplays)
print(t)t = teleplays.pop()
print(teleplays, t)

练习:
已知一个分数列表: [89, 45, 55, 30, 78, 90, 34, 87, 10, 59, 100],删除列表中所有低于60分的成绩
结果: [89,78,90,87,100]

3.3 改 - 修改元素的值

a. 列表[下标] = 新元素 - 将列表中指定下标对应的元素修改成新的元素 (下标不能越界)

anime_list = ['火影忍者', '海贼王', '死神', '天线宝宝', '死亡笔记']
anime_list[-2] = '海绵宝宝'
print(anime_list)

练习: 将列表[89, 45, -55, 30, -78, 90, -34, 87, 10, 59, 100, -19]中所有的负数都改成0
[89, 45, 0, 30, 0, 90, 0, 87, 10, 59, 100, 0]

nums = [89, 45, -55, 30, -78, 90, -34, 87, 10, 59, 100, -19]
for index in range(len(nums)):if nums[index] < 0:nums[index] = 0
print(nums)

*b. 列表1[开始下标:结束下标] = 列表2 - 将列表1中开始下标到结束下标选中的所有元素替换成列表2中所有的元素

nums = [10, 20, 30, 40, 50]
nums[1:3] = [100, 200, 300]    # [10, 100, 200, 300, 40, 50]
print(nums)

3.4 in 和 not in

元素 in 列表 - 判断指定元素是否在指定列表中
元素 in not 列表 - 判断指定元素是否不在指定列表中

print(10 in nums)     # True
print(20 not in nums)     # True

6-Python数字和列表相关推荐

  1. python数字列表in_Python入门基础之数字字符串与列表

    简介 Python的主要应用是进行科学计算,科学计算的基础就是数字,字符串和列表.本文将会详细的给大家介绍一下这三个数据类型的使用情况. 数字 数字是任何科学计算中非常中要的类型,在Python中最常 ...

  2. python 如何匹配列表中某个单词_Python如何匹配文本文件中多行中的特定单词/数字,并将它们存储在单独的列表中...

    解释您想要的正则表达式及其工作原理 以上所有的答案都有效,但是如果你想真正理解这个问题,我认为这可能是一个很好的方法.首先你要想一想你想找到什么.在 对于前三个,您希望匹配类似name space d ...

  3. python创建数字列表_Python 生成一个从0到n个数字的列表4种方法小结

    Python 生成一个从0到n个数字的列表4种方法小结 我就废话不多说了,直接上代码吧! 第一种 def test1(): l = [] for i in range(1000): l = l + [ ...

  4. python 怎么让列表里的数从大到小排列_Python实现把列表里的数字按从小到大的顺序排列...

    一.自己造轮子 第一种方式的思路: 拿出列表里的第0个元素,把它赋给一个叫做"最小值"的变量,然后用这个变量去跟后面的每个数字一一对比,如果碰到比它小的,就把那个新发现的小数字赋给 ...

  5. python如何保存列表_Python 基础知识全篇-列表(Lists)

    示例 列表是元素的集合,存储在一个变量中.列表中存储的元素类型没有限制,下面是列表的一个简单例子. students = ['bernice', 'arron', 'cody'] for studen ...

  6. 这12种方法轻松合并Python中的列表

    我喜欢12这个数字,因为有太多的事情与12有关.一年有12个月;古代用12个时辰(地支)表示一天的时间.用一纪表示12年;希腊有12主神;黄道有12宫;撒迦利亚.西琴先生的<地球编年史>中 ...

  7. Python知识点3——列表操作

    for循环 1.for循环遍历列表 chars=['q','w','e','r','t'] for char in chars:print(char) 这三行代码中,for循环会依次读取列表中的元素, ...

  8. python ui bs_Guibs的Python学习_列表

    Guibs 的 Python学习_列表# 列表# 列表由一系列按特定顺序排列的元素组成, 其中元素和元素之间可以没有任何关系 # 在 Python 中, 用方括号 [] 来表示列表, 并用逗号 , 分 ...

  9. python 两个列表相互映射_Python基础 — 10分钟学习函数式Python

    点击上方蓝字"Python圈子",进行关注~ (图片源自网络) 在这篇10分钟的文章中,您将学习Python中的函数式范型.您还将学习列表推导式. 目录 1.  函数式范式 2.  ...

  10. 如何在Python中反转列表?

    如何在Python中执行以下操作? array = [0, 10, 20, 40] for (i = array.length() - 1; i >= 0; i--) 我需要一个数组的元素,但是 ...

最新文章

  1. 如何定时备份数据库并上传七牛云
  2. CF1063F-String Journey【SAM,线段树】
  3. 信息的Raid存储方式,更安全的保障,更花钱的保障!
  4. 「BZOJ1485」[HNOI2009] 有趣的数列 (卡特兰数列)
  5. 基于链路思想的SpringBoot单元测试快速写法
  6. 磁盘阵列怎么做_设计与后期制作该怎么选择笔记本电脑?朋克老师来教你
  7. 自然语言处理 —— 困惑度
  8. beanutils获取带参数get方法
  9. pytorch nn.Module.parameters
  10. CDQ解决一些三维偏序的问题
  11. vlfeat matlab怎么用,VLFeat在matlab中的使用
  12. 面向图形可扩展矢量图形规范:SVG
  13. QT版用QLCDnumber显示时间
  14. 《互联网时代》 第八集 忧虑
  15. Day6 练习1 买飞机票
  16. 力扣(141.21)补9.1
  17. Win10蓝牙开关消失解决方法
  18. 筹码分布的计算方法笔记
  19. DEV Gridcontrol 多选功能实现
  20. TD-SCDMA和2G互操作实现指导手册

热门文章

  1. 关键词霸屏百度首页!不给“度娘”一分钱
  2. php似水流年同学录,似水年华同学录源码附教程
  3. MYSQL查询后出现中文乱码怎么办
  4. 复苏的魔女服务器维护中,《复苏的魔女》「初醒」测试定档10.15,详细新手指南奉上!...
  5. HDTunePro汉化版温度显示不正常后需要更改
  6. 2016年php精品图书66册推荐
  7. 暗黑3显示无效的服务器,《暗黑3》为啥爆不出好装备?服务器IP决定你的人品...
  8. Linux命令·ss
  9. (附源码)SSM养老院老人日常生活管理系统JAVA计算机毕业设计项目
  10. 热工仪表及控制实训装置