Python基础二–容器型数据类型(1)
容器型数据类型:是用一个变量保存多个数据
容器型数据类型主要有:
- 列表(list)
- 元组(tuple)
- 集合(set)
- 字典(dict)
列表的创建
- 创建列表并给定元素
nums = [1,2,3,4,5]
# 把元素1 2 3 4 5 存放在列表nums中 每个元素用英文逗号分开
``
![在blog.csdnimg.cn/0745b0cb790048beada369e6d0b58c93.png#pic_center)
```python
#列表中也可以存放字符串,同样用单引号或者双引号标记字符,用逗号分开字符。
rules = ['祖国万岁,人民万岁','好好学习,天天向上']
- 函数
append()
给末尾追加元素
nums.append(6)
#给列表nums末尾追加元素 6
rules.append('100周年')
#在列表rules末尾追加字符串 '100周年'
- 函数
insert()
给指定位置插入元素
nums.insert(2,7)#表示在2的位置后插入7 注意 起位数是从0开始的
#前面的 2 表示的是 0,1,2 也就是在列表nums中3的位置
rules.insert(2,'你好')
- 函数
pop()
默认删除最后一个元素
nums.pop()
rules.pop()
列表的遍历
- 遍历是把每个元素都取出来
nums = [12,23,34,55,66]
print(nums[2],nums[-5])
#输出在位置2 -5 的元素
#num[]表示下标运算 2 表示正向(0~n-1)位置 -5表示反向(-n~-1)位置
元素的替换
nums[2]=100#把位置在2的34替换为100
print(nums)
列表的操作
- 对列表进行读写操作
len()
–>length—>给出列表中元素的个数(长度)
for i in range(len(nums)):#len()确定范围
nums[i]=10 #把所有位置替换为10
print(nums[i]) #打印各个位置
print(nums) #打印列表
- 对列表进行独操作
for num in nums:
num = 1100
print(num)
print(nums) #打印出来的列表还是原来的样子
- 最适用的
enumerate()
–>enumerate枚举
for i,x in enumerate(nums):#enumerate枚举 i表示位置x表示元素
print(i,x) #分别打印出列表位置和元素
print(nums)
列表相关例题
循序渐进学列表
-
计算60000次色子的1,2,3,4,5,6点分别出现的次数
不用列表写程序为
import random f1, f2, f3, f4, f5, f6 = 0, 0, 0, 0, 0, 0, 0 total = 0 while total < 60000: total +=1 a = random.randrange(1, 7) if a == 1: f1 += 1 elif a == 2: f2 += 1 elif a == 3: f3 += 1 elif a == 4: f4 += 1 elif a == 5: f5 += 1 else: f6 += 1 print(f"一点次数{f1},二点次数{f2},三点次数{f3},四点次数{f4},五点次数{f5},六点次数{f6}")
用列表方法解决为
fs = [0, 0, 0, 0, 0, 0]#给一个列表存放每点的次数
# fs=[0]*6 列表的重复运算
for _ in range(60000):
face = random.randrange(7)
fs[face - 1] += 1
print(fs)
print('-' * 30)
for i, x in enumerate(fs):
print(f'{i + 1}点的次数{x}')
#也可用下面方式替换
# for i in range(len(fs)):#同上表达一样
# print(f'{i+1}点的次数为{fs[i]}')
- 输入10个整数,计算平均值和方差,找出最大值和最小值
公式为
nums = []
for _ in range(10):
temp = int(input('请输入数据: '))
nums.append(temp)
print(nums)
mean_value = sum(nums) / len(nums) #平均值
total = 0
for num in nums:
total += (num - mean_value) ** 2
# 方差 ---> variance ---> var
var_value = total / (len(nums) - 1)
# 标准差 ---> standard deviation ---> std / stdev
std_value = var_value ** 0.5
max_value, min_value = max(nums), min(nums)
print(f'均值: {mean_value}')
print(f'方差: {var_value}')
print(f'标准差: {std_value}')
print(f'极差(全距): {max_value - min_value}')