一、zid函数

含义:让不同序列中相同下标的元素组成一个新的元组序列

keys = ['A', 'B', 'C', 'D', 'E']
values = (30, 20, 50, 70, 35)
elems = ('Apple', 'Banana', 'Grape', 'Pitaya', 'Durian')
for elem in zip(keys, values):print(elem)print(dict(zip(keys, values)))for elem in zip(keys, values, elems):print(elem)

方法一:继承list类,在添加我们需要的方法

我们可以通过继承来实现已有代码的复用:

"""
isinstance ---> 判断类型函数
debug ---> 调试 ---> 解决缺陷(问题)
"""class MyList(list):def __init__(self, *args):super().__init__()for value in args:self.append(value)def append(self, value):if isinstance(value, (int, float)):super().append(value)else:raise ValueError('只能追加int或float类型的元素')def insert(self, index, value):if isinstance(value, (int, float)):super().insert(index, value)else:raise ValueError('只能插入int或float类型的元素')def mean(self):"""平均数"""return sum(self) / len(self)def median(self):"""中位数"""length = len(self)sorted_list = sorted(self)if len(self) % 2 != 0:return sorted_list[length // 2]return (sorted_list[length // 2]) + sorted_list[length // 2 - 1]def std(self):"""标准差"""return self.var() ** 0.5def var(self):"""方差"""x_bar = self.mean()return sum([(x - x_bar) ** 2 for x in self]) / (len(self) - 1)nums = MyList(1, 2, 3, 4, 5, 9)
nums += [8, 6, 7]
print(nums)
nums.insert(0, 0.3)
print(nums)
print(nums.var())

方法二:在自定义中关联list对象,将各种操作委派给list对象来完成

我们可以通过委派关系实现对象代码的复用:

"""
debug ---> 调试 ---> 解决缺陷(问题)
"""class ThyList:def __init__(self, *args):self.container = []for value in args:self.append(value)def append(self, value):if not isinstance(value, (int, float)):raise ValueError('只能追加int或float类型的元素')return self.container.append(value)def insert(self, index, value):if not isinstance(value, (int, float)):raise ValueError('只能追加int或float类型的元素')return self.container.append(value)def mean(self):"""平均数"""return sum(self.container) / len(self.container)def median(self):"""中位数"""length = len(self.container)sorted_list = sorted(self.container)if len(self.container) % 2 != 0:return sorted_list[length // 2]return (sorted_list[length // 2]) + sorted_list[length // 2 - 1]def std(self):"""标准差"""return self.var() ** 0.5def var(self):"""方差"""x_bar = self.mean()return sum([(x - x_bar) ** 2 for x in self.container]) / (len(self.container) - 1)def __repr__(self):return self.container.__repr__()nums = ThyList(1, 2, 3, 4, 5, 9)
print(nums)
nums.insert(0, 0.3)
print(nums)
print(nums.var())

20211015学习总结相关推荐

  1. 胡锐锋:组队学习分享(队长)

    组队学习分享(队长) 自我介绍 胡锐锋,现为Datawhale成员,目前担任<统计学习方法习题解答>开源项目的负责人,已工作近8年,由大数据平台研发工程师转变成一位项目管理人.我的人生目标 ...

  2. 2021-10-16【严蔚敏数据结构代码实现合集】【c语言学习必备】

    本文记录了我为期三个月<算法与数据结构>的学习历程,仅作为记录自己学习状态的文章. 线性表 2021-9-14[数据结构/严蔚敏][顺序表][代码实现算法2.1-2.7] 2021-9-1 ...

  3. 21美亚杯团队赛,镜像+解析,只做了pc+恶意+内存,希望与大家一起学习进步。

    这是镜像,题目也在镜像里面. 链接:https://pan.baidu.com/s/1WMWUWd1M-7HINIWafr7oCg?pwd=ybww 提取码:ybww --来自百度网盘超级会员V3的分 ...

  4. java入门 慕路径,Java入门基础知识总结学习教程大全【必看经典】

    类型的表达式,是循环条件,表达式3是党执行了一遍循环之后,修改控制循环的变量值. ??? for语句的执行过程是这样的:首先计算表达式1,完成必要的初始化工作:然后判断表达式2的值,如果表达式的值为t ...

  5. Java EE学习心得

    –Java EE学习心得   1.    称为编程专家的秘诀是: 思考-----编程--------思考------编程--.. 编程不能一步到位,不能一上来就编,必须先思考如何写,怎样写?然后再编程 ...

  6. FastAI 2019课程学习笔记 lesson 2:自行获取数据并创建分类器

    文章目录 数据获取 google_images_download 的安装和使用 挂载google 个人硬盘到Google colab中 删除不能打开文件 创建ImageDataBunch 训练模型 解 ...

  7. FastAI 课程学习笔记 lesson 1:宠物图片分类

    文章目录 代码解析 神奇的"%" 导入fastAI 库 下载解压数据集 untar_data 获取帮助文档 help() ? ?? doc 设置路径 get_image_files ...

  8. 深度学习学习指南-工具篇

    colab Colab是由Google提供的云计算服务,通过它可以让开发者很方便的使用google的免费资源(CPU.GPU.TPU)来训练自己的模型. 学习经验总结 如何使用命令行? 通过!+cmd ...

  9. Redis学习之路(一)--下载安装redis

    redis学习之路--下载安装redis windows安装redis 1.下载redis 2.安装 3.查看是否安装成功 windows安装redis 1.下载redis 网址:https://gi ...

最新文章

  1. SpringBoot 2.x 整合Mybatis一:基础
  2. multi-mechanize error: can not find test script: v_user.py问题
  3. 【转】进阶 JavaScript 必知的 33 个点【进阶必备】
  4. 华为麒麟1020鸿蒙系统,华为P50pro最新确认:麒麟1020+立体全面屏+鸿蒙系统,这才是华为...
  5. 第十二章 非对称加密算法-RSA
  6. 遍历enum(连续型)
  7. 【UVA11795】 Mega Man's Mission
  8. xml样本标签转txt
  9. 改变CSS世界纵横规则的writing-mode属性
  10. QT designer将按钮改成圆形
  11. 蚂蚁金服java年终奖,蚂蚁金服发布年终奖调查结果 超六成人无缘年终奖
  12. Android Tv限制后台进程数量
  13. If this is an unexpected issue and persists you can inspect it running `pod repo update --verbose`
  14. 02-vue(轮播图,v-bind对象用法,v-for指令,v-if指令,v-else-if,v-else指令,key值的基本使用,v-show指令,英雄搜索案例)
  15. 华为自研设备明年都将升级鸿蒙系统,华为杨海松:明年部分华为自研设备升级鸿蒙系统...
  16. Vue 仿淘宝购物车
  17. 2020秋招——XX校招笔试编程题:回文串
  18. plc实验报告流程图_plc实验报告(20140924)
  19. 必备技能04:播放PPT后鼠标失灵的解决方案
  20. 手写英文油漆字体字体_通过手写创建字体

热门文章

  1. 创建autodock4.2桌面快捷方式
  2. 浪涌/ESD的基础与对策零部件
  3. 三星s5能升级到android7.0,三星手机安卓7.0升级最新名单:Galaxy S5、Note 4无缘
  4. JAVA根据IP确定时区_2019-05-23 Java根据地址计算日出日落时间(百度地图API)
  5. 第一次用unity b站轻松塔防游戏
  6. 用java绘制火焰_用 CSS 实现火焰特效?不在话下
  7. 发票信息批量提取到 excel 软件 2.4
  8. python 声音合成_使用python生成/合成声音?
  9. 图神经网络-简单图论
  10. Numpy库中对axis(轴)的详解