映射类型和操作

        映射类型是“键-值”数据项的组合,每个元素是一个键 值对,即元素是(key, value),元素之间是无序的。键值对 (key, value)是一种二元关系。在Python中,映射类型主要以字典(dict)体现。

 

列表类型

        列表(list)是包含0个或多个对象引用的有序序列,属于序列类型。与元组不同,列表的长度和内容都是可变的 ,可自由对列表中数据项进行增加、删除或替换。列表没有长度限制,元素类型可以不同,使用非常灵活。

        由于列表属于序列类型,所以列表也支持成员关系操作符 (in)、长度计算函数(len())、分片([])。列表可以同时使用正向递增序号和反向递减序号,可以采用标准的比较操作符(=、>)进行比较,列表的比较实际上是单个数据项的逐个比较。  

        列表用中括号([])表示,也可以通过list()函数将元组或字符串转化成列表。直接使用list()函数会返回一个空列表。     

s=[1,'abc',12.3,[1,2,3],(4,5,6)]
for i in s:print(i)
print(s[3][2])#列表嵌套的访问

使用list()可以将字符串和元组类型转换成列表类型 

print(list(range(10)))#生成一个10个数的列表
print(list("abcdef"))

        与整数和字符串不同,列表要处理一组数据,因此,列 表必须通过显式的数据赋值才能生成,简单将一个列表赋值给另一个列表不会生成新的列表对象。(是指向一个列表地址,对指向的列表值进行操作会改变实际列表的值)

ls = [425, "BIT", 1024] #用数据赋值产生列表ls
lt = ls #lt是ls所对应数据的引用,lt并不包含真实数据
ls[0] = 0
print(lt)
#[0, 'BIT', 1024]

 列表类型的操作

多增,少减,相等一一对应替换

s=[1,'abc',12.3,[1,2,3],(4,5,6)]
s[1:4]=[0,0,0,0]#多增,我们给了三个位置,而给了4个元素,会往列表中增加一个元素值
print(s)
#运行结果:[1, 0, 0, 0, 0, (4, 5, 6)]
s=[1,'abc',12.3,[1,2,3],(4,5,6)]
s[1:4]=[0,0]#少删,我们给了三个位置,而给了2个替换元素,会往列表中删除一个元素值
print(s)
#运行结果:[1, 0, 0, (4, 5, 6)]

 Is[i:j:k]::

        即从i开始替换,一直到 j-1 位置上的值,每次以k步长替换

 Is.append(x):

        在列表ls最后增加一个元素x,追加元素。

s=[]
n=input("请输入:")
while n!='':s.append(n)#往列表中追加元素n=input("请输入:")
print(s)

ls.reverse():列表ls中元素反转

        注意:

                会直接改变列表中的元素顺序

                不能直接调用直接输出,需要先调用改变列表中的顺序,再进行相关操作

l=[1,2,3]
l.reverse()
print(l)
#输出结果:[3, 2, 1]

Is.sort():

        列表Is元素排序,直接作用在Is列表上,默认从小到大排序;Is.sort(reverse=True):

        将列表Is的元素从大到小排序,reverse默认为false(从小到大排序)

列表练习: 

         以最简单的统计问题为例,求解一组不定长数据的基本统 计值,即平均值、标准差、中位数。 一组数据表示为S=s0 , s1 , …, sn-1,其算术平均值、标准差分别表示为:

  注意:   

                m:平均值   

                d: 标准差   

                中位数:当元素个数为单数时为元素个数/2,当元素个数为偶数时,为中间两个数的和/2

import mathdef getNumber():l = []n = eval(input("请输入数值:"))while n != 0:l.append(n)n = eval(input("请输入数值"))return ldef average(l):s = 0for i in l:s += ireturn s / len(l)def zws(l):l.sort()# 从小到大排序,作用再列表上#l.sort(reverse=True)可以实现从大到小排序,默认为flase从小到大排序if len(l) % 2 != 0:return l[len(l) // 2]else:return (l[len(l) // 2 - 1] + l[len(l) // 2 - 1]) / 2# 偶数元素个数的中位数:是中间两个数的和除以2def bzc(l):m = average(l)s = 0for i in l:s += (i - m) ** 2return math.sqrt(s / (len(l) - 1))ll = getNumber()
av = average(ll)
zw = zws(ll)
bz = bzc(ll)
print("平均值是:{},中位数是:{},标准差是:{}".format(av, zw, bz))

列表类型(sort,reverse,list(),append(),切片)、求中位数,平均数,标准差练习相关推荐

  1. mapreduce编程实例(4)-求中位数和标准差

    这个实例解决问题是:计算一天的每个小时中,网站新增评论长度的中位数和这些长度之间的标准差.代码如下: [java] view plain copy

  2. python list map成员排序_python的map关于Python列表排序方法reverse、sort、sorted详细说明...

    python语言中的列表排序方法有三个:reverse反转/倒序排序.sort正序排序.sorted可以获取排序后的列表.在更高级列表排序中,后两中方法还可以加入条件参数进行排序. reverse() ...

  3. 08-Python基础知识学习------列表类型

    列表类型 列表的声明 创建数值列表 成员运算in和not in 访问列表元素 修改.添加和删除元素 修改元素 添加元素 append方法 insert方法 extend方法 删除元素 使用del删除元 ...

  4. 字符串补充知识及列表类型

    字符串需要掌握的方法 1.strip 去除指定字符lstrip 去除左边指定字符rstrip 去除右边指定字符print('**sss****'.lstrip('*'))print('**sss*** ...

  5. 数字、字符串、列表类型及常用内置方法

    目录 可变不可变类型 基本数据类型及内置方法 数字类型 整型 浮点型 数字类型总结 字符串类型 字符串类型的常用操作+内置方法 字符串类型总结 列表类型 列表类型的常用操作+内置方法 列表类型总结 可 ...

  6. 整型与浮点型;进制转换;字符串类型;列表类型;

    一.整型(int) 用途:用于存放qq号,手机号,不带字母的身份证号. 定义方式: age=18 # age=int(18) #int('dfdgf')返回结果会报错,或者 #int(34.6)返回结 ...

  7. Python入门:对Excel数据处理的学习笔记【第五章】列表类型处理技术

    注:该学习笔记是根据曾志贤老师编写的<从Excel到Python,用Python轻松处理Excel数据>所学习整理的笔记. 第五章 列表类型处理技术 列表是Python中最基础的数据结构. ...

  8. Python列表操作小技巧——索引、切片、增添、删除、修改和其他用法

    关于列表,需要对其说明如下三点: 列表的构造是通过英文状态下的方括号完成的,即[].可以将每一个元素存放在中括号中,而且列表中的元素是不受任何限制的,可以存放数值.字符串及其他数据结构的内容. 列表是 ...

  9. 元组类型与列表类型的操作函数和方法

    序列类型定义 序列是具有先后关系的一组元素,序列是一维元素向量,元素之间可以相同,元素类型可以不同.元素间由序号引导,通过下标访问序列的特定元素 序列类型的衍生包括:字符串类型.元组类型.列表类型 序 ...

最新文章

  1. Blender和Substance Painter复古相机创作学习教程
  2. c 语言socket粘包,C# Socket粘包处理讲解示例
  3. 企业新站上线应注意的几个问题
  4. 关键词匹配(Ac自动机模板题)
  5. java处理unicode_C# JavaScript Java 与 中文 unicode 处理
  6. 数据仓库被淘汰了?都怪数据湖
  7. 宿州学院省二计算机什么时候报名,宿州学院2017年9月全国计算机等级考试报名时间及报名网址公布...
  8. 1.1selenium 介绍
  9. Windows Phone 8初学者开发—第9部分:Windows Phone 8模拟器概述
  10. cobbler 部署
  11. Mimics三维建模
  12. java运用itextpdf批量添加书签
  13. Frameworks Detected: Web framework is detected
  14. Linux配置定时任务
  15. win11右键菜单缺少“新建“选项解决办法“
  16. 从拼多多解析社交电商
  17. ubuntu挂载Nas及磁盘测速
  18. 【Win】全角半角切换 | 解决英文字符变宽
  19. el-table合计
  20. ADI DSP的寄存器详细说明在哪里?

热门文章

  1. 什么是进程? 为什么使用进程? 如何运用进程?
  2. 判断2-100之间有多少个素数,并输出所有素数
  3. Linux系统实现访问localhost(127.0.0.1)浏览WWW网站目录
  4. 取消参考文献自动编号_word文档参考文献如何自动编号
  5. html页面怎么判断未登录,未登录用户.html
  6. 你真的了解IP地址吗?
  7. 如何使用热风枪焊接特殊的QFN封装的芯片
  8. 数据分析报告的 6 个步骤
  9. ajax感受,有什么缺点,浅谈ajax的优点与缺点
  10. Linux:解压bz2文件