Python学习的第五天:容器型数据类型——列表

Python学习的第五天

容器型数据类型(用一个变量可以保存多个数据)

  • 列表(list)
  • 元组(tuple)
  • 集合(set)
  • 字典(dict)

列表

通过[]构建

列表的操作
  1. 通过[]使用字面量语法创建列表
  2. []内可以不放入数据创造空列表
  3. 通过.append(x)追加(在末尾添加)元素x
  4. 通过.insert(n,x)在下标为n的位置插入元素x
  5. 通过.pop(x)默认在末尾删除元素x
  6. 列表可以同时放入各个类型的数据,但是最好在列表内放入同种类型元素
列表的遍历
  1. 列表的下标从0开始
  2. 列表的索引运算(下标运算)x[n]取出列表x中下标为n位置的数据
  3. x[n]=m将列表x中下标为n位置的数据替换为m
  4. 下标不可以超出列表范围
  5. 列表的索引可以正向(从左到右)或者负向(从右向左)
  6. 负向索引从-1开始
  7. 通过循环结构进行列表的遍历
  8. 通过len()计算列表的长度
  9. 对于字符串来说*代表重复运算
  10. 通过len()对列表进行读和写操作的for循环
  11. 通过enumerate()进行预处理,即枚举,每次可以取出两个值,如果只输入一个循环变量,取出值,如果输入两个循环变量,取出序号和值
    例子:
  12. 将一颗骰子投掷60000次,统计每一面出现的次数
  • 不使用列表:

    x1, x2, x3, x4, x5, x6 = 0, 0, 0, 0, 0, 0
    for _ in range(60000):
      i = random.randrange(1, 7)
      if i == 1:
          x1 += 1
      elif i == 2:
          x2 += 1
      elif i == 3:
          x3 += 1
      elif i == 4:
          x4 += 1
      elif i == 5:
          x5 += 1
        else:
            x6 += 1
    print(f'x1={x1},x2={x2},x3={x3},x4={x4},x5={x5},x6={x6}')
    

在这里插入图片描述

  • 使用列表:
import random
fs = [0, 0, 0, 0, 0, 0]
for _ in range(60000):
    face = random.randrange(1, 7)
    fs[face - 1] += 1
for i, value in enumerate(fs):
    print(f'{i+1}点共摇出了{value}次')

在这里插入图片描述
2. 输入三个整数,按照从大到小的顺序输出

  • 方法一
x = []
for _ in range(3):
    y = int(input('y='))
    x.append(y)
x.sort(reverse=True)
for i in range(len(x)):
    print(x[i])
  • 方法二:
x = []
a = []
for _ in range(3):
    y = int(input('y='))
    x.append(y)
for _ in range(3):
    a.append(max(x))
    x.remove(max(x))
for i in range(len(a)):
    print(a[i])

在这里插入图片描述
3. 向列表中添加10个随机整数,找出其中第2大的元素

  • 方法一:
 import random
 
 x = []
 for _ in range(10):
     i = random.randrange(1,1000)
     x.append(i)
 print('输入的十个数为', x)
 x.sort()
 print('第二大的数为', x[-2])
  • 方法二:
x = []
for _ in range(10):
    i = random.randrange(1,1000)
    x.append(i)
print('输入的十个数为', x)
x.remove(max(x))
print(f'输入的十个数中第二大的是{max(x)}')
  • 方法三:
x = []
for _ in range(10):
    y = random.randrange(1, 1000)
    x.append(y)
print(f'输入的十个数为{x}')
for i in range(len(x)):
    for j in range(i+1, len(x)):
        if x[i] > x[j]:
            x[j], x[i] =x[i], x[j]
print(x[-2])

在这里插入图片描述

统计
  • 描述性统计:可以获得总体的情况
  • 推断性统计:只能获得样本,通过样本去推测总体
  • 通过sum()函数进行求总和
  • 通过函数max()求最大值
    描述性统计:可以获得总体的情况
  • 推断性统计:只能获得样本,通过样本去推测总体
  • 通过sum()函数进行求总和
  • 通过函数max()求最大值
  • 通过函数min()求最小值
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

踏墟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值