Python学习的第五天
容器型数据类型(用一个变量可以保存多个数据)
- 列表(list)
- 元组(tuple)
- 集合(set)
- 字典(dict)
列表
通过[]构建
列表的操作
- 通过[]使用字面量语法创建列表
- []内可以不放入数据创造空列表
- 通过.append(x)追加(在末尾添加)元素x
- 通过.insert(n,x)在下标为n的位置插入元素x
- 通过.pop(x)默认在末尾删除元素x
- 列表可以同时放入各个类型的数据,但是最好在列表内放入同种类型元素
列表的遍历
- 列表的下标从0开始
- 列表的索引运算(下标运算)x[n]取出列表x中下标为n位置的数据
- x[n]=m将列表x中下标为n位置的数据替换为m
- 下标不可以超出列表范围
- 列表的索引可以正向(从左到右)或者负向(从右向左)
- 负向索引从-1开始
- 通过循环结构进行列表的遍历
- 通过len()计算列表的长度
- 对于字符串来说*代表重复运算
- 通过len()对列表进行读和写操作的for循环
- 通过enumerate()进行预处理,即枚举,每次可以取出两个值,如果只输入一个循环变量,取出值,如果输入两个循环变量,取出序号和值
例子: - 将一颗骰子投掷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()求最小值