学习pyth的第五天
容器型数据类型(用一个变量可以保存多个数据)
——列表(list)
——元组(tuple)
——集合(set)
——字典(dict)
1、操作
-
通过[]建立
-
append :在末尾追加元素
-
insert :在指定位置插入元素
-
pop :删除最后的元素
"""
example02 - 容器型数据类型(用一个变量可以保存多个数据)
——列表(list)
——元组(tuple)
——集合(set)
——字典(dict)
Author: 周浪
Date: 2021/7/23
"""
nums = [10, 100, 1000]
print(type(nums))
print(nums)
rules = ['富强,民主,文明,和谐',
'自由,平等,公正,法治',
'爱国,敬业,诚信,友善', ]
print(type(rules))
print(rules)
nums.append(10000) # append:在末尾追加元素
nums.insert(0, 1) # insert:指定位置插入元素
print(nums)
rules.pop() # pop:删除最后的元素
print(rules)
2、遍历
列表的遍历是指把列表中的每个元素依次取出来
1、先从简单的取一个元素开始,如:
nums = [8, 15, 5, 4, 7, 20]
print(nums[5])
表示从0开始,第5个下标位置的数,一定要注意,python中是从0开始取下标的
2、替换列表中指定位置的元素
nums = [8, 15, 5, 4, 7, 20]
print(nums[5])
nums[2] = 120
print(nums)
表示将下标为2的位置的元素替换成120
nums = [8, 15, 5, 4, 7, 20]
for i in range(6):
print(nums[i])
表示把列表里的元素依次取出来(即遍历)
上面这个代码只能对列表进行读取的操作,而有时候我们还需要对列表中的数进行改写,那么我们就需要用到下面这种循环结构
nums = [8, 15, 5, 4, 7, 20]
for i in range(len(nums)):
print(nums[i])
nums[i] = 100
print(nums)
这个我们可以从运行结果看到,不仅可以遍历列表,还可以把列表中的数进行改写
有时候我们不仅需要得到列表里的数,而且还需要知道它每个数对应的下标。那么就需要用到以下的代码
nums = [8, 15, 5, 4, 7, 20]
for i, x in enumerate(nums):
print(i, x)
3、例题
例子01——将一颗骰子掷60000次,统计每一个点数出现的次数
import random
f1 = f2 = f3 = f4 = f5 = f6 = 0
for _ in range(60000):
i = random.randrange(1, 7)
if i == 1:
f1 += 1
elif i == 2:
f2 += 1
elif i == 3:
f3 += 1
elif i == 4:
f4 += 1
elif i == 5:
f5 += 1
else:
f6 += 1
print(f'1点出现的次数{f1},2点出现的次数{f2},3点出现的次数{f3},4点出现的次数{f4},5点出现的次数{f5},6点出现的次数{f6},')
上面这个需要一一打出,可能有点冗余了,所有我们可以用遍历改进一下
import random
fs = [0] * 6
for _ in range(60000):
x = random.randrange(1, 7)
fs[x - 1] += 1
print(fs)
for i, value in enumerate(fs):
print(f'{i + 1}点摇出了{value}次')
你看,这样就看上去舒服得多
例子02
输入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}')
总结:遍历很重要,一定要通过大量的练习来达到融会贯通。