day05-python数字类型和列表

一 python中数字相关的类型有4种:int(整形)、flaot(浮点型)、complex(复数)、bool(布尔)。

1.1 int(整形) - 所有的整数对应的类型

num = 23
num1 = 0b100101  # 在数字前加0b表示二进制数(二进制数中只能有0和1两个基数)
num8 = 0o76  # 在数字前加0o表示八进制数(八进制数中只能由0~7组成
num16 = 0x4f  # 十六进制数的基数:0~9、A~F / a~f)

进制的转换

print(num8)     # print(其他进制数)- 查看对应的十进制数
print(bin(89))  # 查看十进制数对应的2进制数
print(oct(89))  # 查看十进制数对应的8进制数
print(hex(89))  # 查看十进制数对应的16进制数

1.1.1 int的类型转换:int(数据)

浮点数转换成整型的时候只是单纯的保留整数部分.

print(int(2.31))  # 2
print(int(1.999))  # 1
print(int(-2.4))  # - 2

注意: 复数不能转换成int类型

1.1.2 bool转换成int类型

print(int(True))  # 1
print(int(False))  # 0

1.1.3 字符串转换成int类型

print(int('12'))  # 字符串的引号中的内容是整数
print(int('-120'))
print(int('0b11', base=2))  # base控制的是进制,默认是10

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

f1 = 12.3
f2 = 3e4

1.2.1 类型转换

print(float(19))  # 19.0

print(float(True))  # 1.0

print(float('12.8'))  # 12.8

print(float('2e8'))  # 200000000.0

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

print(type(10 - 2j))
# 如果实部是0,0可以省略
# 虚部系数为1时,1不能省略
  • python中的复数直接支持复数的数学运算
c1 = 2 + 3j
c2 = -2 - 2j
print(c1 + c2)
print(c1 * c2)

1.4 bool (布尔) - 只有True和False两个值

解释:True本质就是1,False就是0

1.4.1 类型转换 (所有类型的数据都能转换成布尔)

所有的0值和空值都能转换成 False,其他都是True.

num = 10
if num == 0:
    print('num为0')

if not num:
    print('num为0')

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

if num:
    print('num不为0')

二 列表

2.1 什么是列表

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

list1 = [34, '23', True, 'sw']
print(list1)

girl_friends = ['杨幂', '任旧康', '蔡徐坤', '']
print(girl_friends)
# 空列表
empty = []

2.2 获取列表元素

  1. 获取单个元素
    a.语法:
列表[下标]  -   获取列表中指定下标对应的元素(下标不能越界)

b. 说明

  • 列表 - 任何结果是列表的表达式(比如:具体的列表值、保存列表的变量、运算结果是列表的运算表达式、返回值是列表的函数调表达式)
  • [] - 固定写法
  • 下标 - 下标又叫索引;表示的是元素在有序序列中的位置信息。

python中下标值有两种:
1)0 ~ 长度-1,其中 0 表示第一个元素的位置、1 表示第二个元素的位置…以此类推。
2)-1 ~ -长度,其中 -1 表示最后一个元素的位置、-2 表示倒数第二个元素的位置…以此类推。

scores = [21, 12, 22, 3, 90]
print(scores[-1])
print(scores[4])

2.3 遍历列表 - 将列表中的元素一个一个的取出来

方式一:直接取每个元素的值

for 变量 in 序列:
    循环体

例如:

scores = [21, 12, 22, 3, 90]
for s in scores:
    print(s)

方式二:同时获取每个元素的下标和值

for 下标, 元素 in enumerate(列表):
    循环体

例如:

scores = [21, 12, 22, 3, 90]
for i in range(len(scores)):
    print(scores[i])

for x, y in enumerate(scores):
    print(x, y)

练习1:求一个班所有学生的总成绩

scores = [90, 78, 59, 84, 30, 99, 45]
sum1 = 0
for i in scores:
    sum1 += i
print('总成绩为:', sum1)

练习2:统计班上不及格学生的人数

sum2 = 0
for x, y in enumerate(scores):
    if y < 60:
        sum2 += 1
        print('不及格的有:', x, '成绩为:', y)
print('不及格的总人数为:', sum2)

2.4获取部分元素(切片)

注意:切片的结果还是列表

语法:

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

分为两种情况:

  1. 如果步长为正:表示开始下标到结束下标是从前往后取,开始下标对应位置要在结束下标的位置的前面才能取到值。
  2. 如果步长为负:表示开始下标到结束下标是从后往前取,开始下标对应位置要在结束下标的位置的后面才能取到值。
    例如:
names = ['赵云', '诸葛亮', '刘备', '甄姬']
print(names[1:4:1])

2.4.1 省略步长

列表[开始下标:结束下标] - 相当于步长是1
例如:

movies = ['武庚纪', '速度与激情1', '致命弯道', '死神来了', '生化危机', '林中小屋']
print(movies[1:-1])
print(movies[5:2])

2.4.2 省略开始下标

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

print(movies[:5:2])
print(movies[:-2])

2.4.3 省略结束下标

列表[开始下标::步长] - 如果步长为正,从前往后取到最后一个元素为止;如果步长为负,从后往前取到第一个元素为止
列表[开始下标:]
例如:

tv_list = ['甄嬛传', '柯南', '名侦探狄仁杰', '西游记', '三国演义', '生活大爆炸']
print(tv_list[2:])
print(tv_list[2::2])

2.4.4 开始下标和结束下标都省

列表[::步长] - 如果步长为正,从前往后从第一个元素取到最后一个元素为止;如果步长为负,从后往前从最后一个元素取到第一个元素为止。
列表[:]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值