推倒数据,处理数据
例子
体育老师需要检测 4 个学生最好的数据
数据格式如下
One.txt
Mysql
2-34,3:21,2.34,2.45,3.01,3:41,2:01,3:10,2-22
Two.txt
Mysql
2.59,2.11,2:11,2:23,3-10,2-23,3:10,3.21,3-21
Three.txt
Mysql
2:58,2.58,2:39,2-25,2-55,2:54,2.18,2:55,2:55
Four.txt
Mysql
2:22,3.01,3:01,3.02,3:02,3.02,3:22,2.49,2:38
- 下面就是统计数据 然后分析数据
Python
# 引入正则模块
import re
def printresult(filename, arr):
with open(filename, 'r', encoding='utf-8') as result:
content = result.readlines()
for item in content:
splitestr(item, arr) # arr变化了
findbetter(arr) # 最后的结果
def splitestr(item, arr):
resultall = item.split(',')
for item in resultall:
finalresult = ''
result = re.findall('(\d+)', item) # 找到数字
for _item in result:
finalresult += str(_item) # 变成字符串
arr.append(finalresult)
# 比大小
def findbetter(arr):
maxitem = int(arr[0])
for i in range(len(arr)):
if(i < len(arr)-1):
itemnext = int(arr[i+1])
else:
itemnext = int(arr[i])
if itemnext > maxitem:
maxitem = itemnext
result = str(maxitem)
print("最好的成绩就是"+result[0]+"分"+result[1]+result[2]+"秒")
arr1 = []
printresult('One.txt', arr1)
arr2 = []
printresult('Two.txt', arr2)
arr3 = []
printresult('Three.txt', arr3)
arr4 = []
printresult('Four.txt', arr4)
集合
集合里面不能有重复的值
集合使用{}来表示
通过 set()函数来制造集合
Python
arr = ["1","2","3"]
print (set(arr))
# 结果
# 集合{}
集合内部操作
- in 判断是否在里面
Python
str = set('abccddadada')
result = 'a' in str
print(result)
- 添加元素 add
Python
str1 = set('abccddadada')
str1.add('e')
print(str1)
# 结果
# {'a', 'c', 'd', 'e', 'b'}
- 移除元素 remove (这样元素不存在,则会发生错误)
Python
str1 = set('abccddadada')
str1.add('e')
str1.remove('e')
print(str1)
# 结果
# {'b', 'd', 'a', 'c'}
- 移除元素 2 discard() (这样即使元素不存在,也不会发生错误)
Python
str1 = set('abccddadada')
str1.discard('a')
print(str1)
# 结果
# {'b', 'd', 'c'}
- 随机删除一个元素 pop()
Python
str1 = set('abccddadada')
str1.pop()
print(str1)
# 结果随机删除
# {'b', 'd', 'c'}
- 计算集合的个数
Python
str1 = set('abccddadada')
length = len(str1)
print(length)
# 结果
# 4
- 清空集合
Python
str1 = set('abccddadada')
str1.clear()
print(str1)
# 结果
# set()
- 集合复制
Python
str1 = set('abccddadada')
str2 = str1.copy()
print(str2)
# 结果 {'a', 'c', 'b', 'd'}
两个集合之间的操作
- 取差集 (a 包含而 b 不包含)
Python
str1 = set('abccddadada')
str2 = set('bbbcde')
result = str1-str2
print(result)
# 结果
# {'a'}
- 取并集 a | b
Python
str1 = set('abccddadada')
str2 = set('bbbcde')
result = str1 | str2
print(result)
# 结果
# {'a','b','c','d','e'}
- 取交集 a&b
Python
str1 = set('abccddadada')
str2 = set('bbbcde')
result = str1 & str2
print(result)
# 结果
# {'c','b','d'}
- 不同时包含 a 和 b 的元素(b 中 a 没有的元素,a 中 b 没有的元素)
Python
str1 = set('abccddadada')
str2 = set('bbbcde')
result = str1 ^ str2
print(result)
# 结果
# {'e','a'}