数据类型和列表

内容回顾(基础篇三)

1:if条件

应用场景:
1)if 单分支: 满足条件执行某个操作,不满足就不执行
2)if 双分支: 满足条件执行某个操作,不满足执行另一个操作
3)if 多分支: 根据不同的条件执行不同的操作

2:for循环和while循环的选择

1)什么时候用for循环
a.遍历序列
b.循环次数确定

2)什么时候用while循环
a.死循环
b.循环次数确定

while True:if 循环结束的条件:break

数字类型

python中数字相关的类型有4中**:int(整型),float(浮点性),comlex(复数),bool(布尔)**

1.int(整型) - 所有整数对应的类型

num = 23
num1 = 0b1010       # python中的二进制数表示方式,在数字前面加上0b(二进制基数:0,1)
num8 = 0o76         # python中的八进制数表示方式,在数字前面加上0o(八进制基数:0~7)
num16 = 0x78        # python中的十六进制的表示方法,在数字前面加上0x(十六进制奇数:0~10,A~F)
print(num1)         # print(其他进制数)- 查看对应的十进制数
print(num8)
print(num16)

进制转换

print(bin(89))       # 0b1011001
print(oct(89))       # 0o131
print(hex(89))       # 0x59

int的类型转换:int(数据

print(int(2.33))     # 2
print(int(1.99))     # 1
print(int(-2.3))     # -2 (浮点数转换成整数的时候知识单纯的保存整数部分)
print(int(10+3j))    # 复数不能转换成int类型
print(int(True))     # 1
print(int(False))    # 0# print(int("12.5"))   # 不能转换
print(int("-120"))     # 可以转换
# print(int("0b111"))    # 不可以转换:invalid literal for int() with base 10: '0b111'
print(int("0b111",base=2))  # 7:base控制的进制,默认是10进制

2.float(浮点型) - 所有小数对应的类型

f1=12.4
f2=3e4
print(f2)

类型转换

print(float(19))  # 19.0
print(float(True)) # 1.0
# print(int(10+3j))  # 复数不能转换成float类型
# print(float("12f34"))
print(float("12.8"))  # 12.8
print(float("67"))    # 67
print(float("2e8"))   # 200000000.0

3.complex(复数) - 由实部和虚部组成的数字就是复数(复数的单位是j)

c1 = 10-2j
print(type(c1))
c2 = -3j     # 如果实部是0,可以省
# c3 = 3+j   # NameError: name 'j' is not defined(虚部值如果是1,1不能省略)
c3 = 3+1j
print(1j*1j) # (-1+0j)

python中复数直接支持复数的数学运算

print(c1+c3)    #(13-1j)
print(c1*c3)    #(32+4j)
print(c1/c3)print(complex(10))   # (10+0j)# 

4.bool(布尔)

True本质就是1,False本质就是0

类型转换 (所有类型的数据都可以转换成布尔)
所有的0值和空值都会转换成False,其他都是True

num=0
if num ==0:print("num为0")if not num:print('num为0')if num!=0:print('num不为0')if num:print('num不为0')

列表基础

1.什么是列表

列表是容器数据类型,以[]作为容器的标志,里面的多个元素用逗号隔开:[元素1,元素2,元素3,,,,,]
列表是可变(指的是元素的个数、值和顺序可变)、列表是有序的
列表的元素可以是任何类型的数据,同一个列表可以有多个类型不同的元素

list1 = [34, 'abc', True, 34]
print(list1)empty = []   # 空列表

2.获取列表元素

1)获取单个元素
a.语法
列表[下标] - 获取指定位置的元素

b.说明

  1. 列表 - 任何结果是列表的表达式
    (比如:具体的列表值、保存列表的变量、运算结果式列表的运算表达式。返回值是列表的函数调用表达式)
  2. [] - 固定写法
  3. 下标 - 下标又叫索引;表示的是元素在有序序列中的位置信息
    python中下标值由两种:
    1)0~长度-1:其中0表示第一个元素、1表示第二个元素,以此类推。。。
    **2)-1~-长度,**其中-1表示最后一个元素的位置,-2就是表示第二个元素的位置,以此类。。。
brothers = ["国栋", "定名", "秋冬", "忠玉", "郭糠"]
print(brothers[2])
print(brothers[-3])
# 注意:获取单个元素的时候下标不能越界
# print(brothers[5])   #IndexError: list index out of range

2) 遍历列表-将列表中的元素一个一个的取出来
方式一:
for 变量 in 序列:
        循环体
方式二
for 下标,元素 in enumerate(列表):
        循环体
直接获取列表中的元素

for brother in brothers:print(brother)

同时获取每个元素的下标和值

for index, value in enumerate(brothers):print(index, value)

获取班上学生总分、平均分、不及格人数

scores = [90, 32, 79, 80, 67, 45]
sum = 0
fail_people = 0
for i in scores:sum += iif i < 60:fail_people += 1
print("总分:", sum, "平均分:", sum / len(scores), "不及格:", fail_people)

3)获取部分元素(切片)
列表切片的结果还是列表
语法:
列表[开始下表:结束下表:步长] - 从开始下标开始取,每次下标值增加步长去取下一个值
如果步长为正:表示开始下标到结束下表是从前往后取,开始下标对应的位置要在结束下标对应位置的前面

names = ["国栋", "定名", "秋冬", "忠玉", "郭糠"]
print(names[1:4:1])  # ['定名', '秋冬', '忠玉']
print(names[1:4:-1])  # []
print(names[1:4:2])  # ['定名', '忠玉']
print(names[-1:1:-1])  # ['郭糠', '忠玉', '秋冬']
print(names[0:-1:1])  # ['国栋', '定名', '秋冬', '忠玉']

省略步长
列表[开始下表:结束下表] - 省略步长,相当于步长是1

brothers = ["国栋", "定名", "秋冬", "忠玉", "郭糠"]
print(brothers[1:-1])  # ['定名', '秋冬', '忠玉']

省略开始下标
列表[:结束下表:步长]/列表[:结束下标]
如果步长为正,表示从第一个元素开始往后取
如果步长为负,表示最后一个元素开始往前取

brothers = ["国栋", "定名", "秋冬", "忠玉", "郭糠"]
print(brothers[:5:2])
print(brothers[:-2])  # ['国栋', '定名', '秋冬']
print(brothers[:-3:-1])  # ['郭糠', '忠玉']

省略结束下标
列表[开始下标::步长]/列表[开始下表:]
如果步长为正,取到最后一个元素为止
如果步长为负,从后往前取到第一个元素为止

tv_list = ['甄嬛传', '名侦探柯南', '名侦探狄仁杰',"西游记","死亡游戏"]
print(tv_list[2:])    #['名侦探狄仁杰', '西游记', '死亡游戏']
print(tv_list[-3::-1])   #['名侦探狄仁杰', '名侦探柯南', '甄嬛传']

开始小标和结束下标都省
#列表[::步长]/列表[:]
如果步长为正,从前往后从第一个取到最后一个元素;
如果步长为负,从后往前从最后一个取到第一个元素;

python进阶_基础篇4(数据类型和列表)相关推荐

  1. python进阶_基础篇10(函数进阶,列表推导式)

    函数进阶 函数就是变量 定义函数的时候,其实就是在定义一个类型时function的变量,函数名就是变量名 普通变量能做的事情,函数都可以做 print('===================1.函数 ...

  2. 计算机编程书籍-笨办法学Python 3:基础篇+进阶篇

    编辑推荐: 适读人群 :本书适合所有已经开始使用Python的技术人员,包括初级开发人员和已经升级到Python 3.6版本以上的经验丰富的Python程序员. "笨办法学"系列, ...

  3. python人生苦短_人生苦短,我用Python(教程基础篇)

    人生苦短,我用Python(Python快速教程 - 基础篇) Life is short, you need Python 人生苦短,我用Python Python简介 本章将介绍Python的最基 ...

  4. Python Open3D几何图形 基础篇(三) RGBD图像

    Python Open3D几何图形 基础篇(三) RGBD图像 本文所参考网页: RGBD images - Open3D 0.15.1 documentation Open3D中有一个关于图像的数据 ...

  5. 视频教程-Redis进阶教程—基础篇-NoSQL

    Redis进阶教程-基础篇 雅座Java架构师,架构开发公司百万级订单支付平台 叶向阳 ¥49.00 立即订阅 扫码下载「CSDN程序员学院APP」,1000+技术好课免费看 APP订阅课程,领取优惠 ...

  6. Python 进阶_生成器 生成器表达式

    目录 目录 相关知识点 生成器 生成器 fab 的执行过程 生成器和迭代器的区别 生成器的优势 加强的生成器特性 生成器表达式 生成器表达式样例 小结 相关知识点 Python 进阶_迭代器 & ...

  7. Lunx运维监控_shark巨菜_基础篇

    Lunx运维监控_shark巨菜_基础篇 一.监控重要性 单单从"监控"两个字来谈,范围之广可以涵盖我们生活的方方面面,我们生活和工作中处处可见视频监控的摄像机:机房中的电压电流监 ...

  8. Oracle、Mysql数据库编程开发基本操作命令语法脚本_基础篇(入门级)

    Oracle.Mysql数据库开发基本操作命令语法脚本_基础篇(入门级) 文章目录 Oracle.Mysql数据库开发基本操作命令语法脚本_基础篇(入门级) 一.数据库中常用的字段类型 二.操作数据库 ...

  9. Redis进阶教程—基础篇-叶向阳-专题视频课程

    Redis进阶教程-基础篇-217人已学习 课程介绍         该系列教程涵盖了redis的方方面面,大亮点是实战经验分享总结.系列视频包含Redis基础篇.Redis提升篇.从零编写Redis ...

最新文章

  1. 浅谈代码的执行效率(2):编译器的威力
  2. 【JavaSE04】Java中循环语句for,while,do···while-思维导图
  3. NFS mount failed, reason given by server: Permission denied ---nfs挂载失败
  4. Gartner最新发布:2017年十大战略技术趋势
  5. Hbase 高级特性Bloom filter
  6. 『数据库』你以为删库跑路就能让你老板内(lei)牛(liu)满面--数据库的恢复技术
  7. logstash 使用glusterfs网络存储偶发性文件解析异常的问题
  8. np.percentile获取中位数、百分位数
  9. SVM多分类问题 :matlab中的应用
  10. Android 系统开发系列三
  11. impala日期格式转换
  12. 基于51单片机的模拟信号检测系统
  13. python取出字典重复值_从字典中提取重复值
  14. 案例:理想主义的猪与结果导向的猪
  15. 电子密码锁程序C语言,基于C语言STC89C52单片机电子密码锁的系统设计与仿真
  16. 【蓝桥杯】枚举,模拟,排序专题 (一)
  17. Android:规范命名,让合作更加愉快
  18. autojs之高德地图定位
  19. 三、Oracle/支付宝/旺旺
  20. 基础篇. ARM架构和处理器(3)

热门文章

  1. JDK8 | 字符串收集器 Collectors.joining()
  2. ccf-csp 2016-2018部分题目总结
  3. html格式转换word清除格式,Word2010怎么清除格式?word清除格式(图文)教程
  4. git笔记(团队协作教程,GitHub操作)
  5. 微信小程序设置背景图片
  6. 不要让你的文件“失踪”,学会小米手机怎么备份
  7. [python]计算miou的方式
  8. 按键精灵html代码,按键精灵代码post和get
  9. 【工程光学】几何光学基本定律成像概念
  10. ansys一段时间后进入model报错:ansysWBU.exe encountered a problem.