python基础day-05:数字和列表

数字

一、数字相关类型

python中数字相关类型有三个:int、float、complex

1.1 int(整型)

  • 所有的整数对应的类型
  • 表示:数字直接写
  • 转换:int(数据)
  • 不是所有的数据都可以转换成整数,只有浮点、布尔、部分字符串
1.1.1 浮点数转换成整数
  • 直接去掉小数部分,保留整数部分
1.1.2 布尔转整数(布尔的本质就是数字,继承int,把1表示为True,0表示为False)
  • True -> 1
  • False -> 0
1.1.3字符串转整数

去掉引号后本身就是整数的字符串,才能转为整型

print(int('12'))

1.2 float(浮点型)

  • 所有的小数对应的类型
  • 表示:直接表示,支持科学计算法
  • 转换:float(数据)
  • 整数、布尔、部分字符串可以转
print(float(True))
print(float('3e4'))

1.3 bool(布尔)

  • 表示:直接写 - True、False
  • 转换:bool(数据)
  • 所有的数据都可以转为布尔;零值和空值和无类型转为False,其余转为
True
def f(a):
    # return a  # 返回有类型,再判断返回值的布尔值
    # print(a)  # 返回无类型,布尔值False
    pass        # 返回无类型,布尔值False
print(bool(f(1)))

1.4 *complex(复数)

  • 由实部和虚部组成的数
  • 虚数单位是:j
  • 虚部的1不能省
  • 直接支持复数的运算
num1 = 2 + 3j
num2 = 4 - 5j
print(num1 * num2)

 
 

 

列表

一、什么是列表(list)

	a = []  # a是一个空列表
	b = [1, 'abc', [1, 2, 3]]
  • 列表是容器型数据类型,将[]作为容器的标志,里面多个元素用逗号隔开
  • [元素1,元素2,元素3,…]
  • 列表中的元素可以是任何类型的数据
  • 列表的容器特点:
    1. 可变(元素个数、元素的值、元素的顺序)
    2. 有序(元素有索引值,有编号)

二、获取列表元素

2.1 获取单个元素(索引)

列表[下标] - 获取下标对应的元素

  • 列表 - 任何结果是列表的表达式(具体的列表数据、保存列表数据的变量、…)
  • [] - 固定写法
  • 下标 - 又叫索引;是元素在容器中的位置标志(是顺序值)
    正方向索引顺序:从0到n-1
    负方向索引顺序:从-1到-n
  • 注意:下标不能越界(切片可以)

2.2 获取部分元素(列表切片)

同时获取列表中的多个元素

列表[开始下标 : 结束下标 : 步长]

  • 若步长为正,表示从前往后取
  • 若步长为负,表示从后往前取
a = [1, 2, 3, 4, 5, 6]
print(a[-4:2:8])
2.2.1 省略步长

列表[开始下标 : 结束下标]

省略步长就相当于步长为1:列表[开始下标 : 结束下标] == 列表[开始下标 : 结束下标 : 1]

2.2.2 省略开始下标

列表[: 结束下标 : 步长]

  • 若步长为正,从第一个元素开始取
  • 若步长为负,从最后一个元素开始取

列表[: 结束下标],步长一起省略

2.2.3 省略结束下标

列表[开始下标 :: 步长]

  • 若步长为正,从开始下标对应的元素取到列表的最后一个
  • 若步长为负,从开始下标对应的元素取到列表的第一个

列表[开始下标 :],步长一起省略

2.2.4 同时省略开始、结束下标
  • 范围是整个列表

    列表[:: 步长]

    列表[:],步长一起省略

2.3 遍历

  • 方法一:直接遍历出列表中的元素

    for 变量 in 列表:
          循环体

games = ['斗地主', '欢乐麻将', '开心消消乐', '三国杀', '王者荣耀']
for x in games:
    print('x:', x)
  • 方法二:通过遍历下标来遍历元素

    for 变量 in range(列表长度):

           列表[变量]

for i in range(len(games)):  # - len(列表) 获取列表中元素的个数
    print('元素:', games[i])
  • 方法三:同时获取下标和元素
for index, item in enumerate(games):
    print('下标:', index, '元素:', games[index])
# 练习:
from random import randint

# 一个班10个学生的成绩
scores = []
s = randint(0, 100)
for i in range(10):
    scores.append(randint(0, 100))
print('班级分数:', scores)

# 总成绩
sum_scores = sum(scores)
print('总成绩:', sum_scores)

# 平均成绩
mean_scores = sum_scores / len(scores)
print('平均分:', mean_scores)

# 不及格人数
n = 0
for score in scores:
    if score < 60:
        n += 1
print('不及格人数:', n)

# 最高成绩的值
highest = scores[0]
for score in scores[1:]:
    if score > highest:
        highest = score
print('最高分:', highest)

三、元素的增删改

3.1 增

3.1.1 列表.append(元素)
  • 在列表的最后添加指定元素
l = [1, 2, 3]
l.append(4)
print(l)
3.1.2 插入

列表.insert(下标,元素)

  • 在指定下标对应的元素前插入指定元素
print(type(l.insert(0, 0)))
print(l)

3.2 删

3.2.1 del 列表[下标]
  • 关键字 del
  • 删除列表中指定下标对应的元素
l = [1, 2, 3]
print(l)
del l[1]
print(l)
3.2.2 列表.remove(元素)
  • 删除列表中指定的元素
  • 若元素不存在,会报错
  • 若有多个同一元素,会删除第一个
l = [1, 2, 3]
print(l)
l.remove(2)
print(l)
3.2.3 列表.pop()

列表.pop() - 取出列表中最后一个元素,并返回该元素

列表.pop(下标) - 取出指定下标的元素,并返回该元素

l = [1, 2, 3]
print(l)
del_item = l.pop(1)
print(del_item)
print(l)
# 练习:
# 删除低于60分中的成绩
scores = [90, 45, 52, 10, 89, 67, 55, 32, 69, 100]
print(scores)
while True:
    for score in scores:
        if score < 60:
            scores.remove(score)
            break
    else:
        break
print(scores)

3.3 改

修改元素的值

  • 列表[下标] = 新元素
# 练习:
# 改为不及格
scores = []
for i in range(10):
    scores.append(randint(0, 100))
print(scores)
for i in range(len(scores)):
    if scores[i] < 60:
        scores[i] = '不及格'
print(scores)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值