python里元组和列表的共同点和不同点_Python_列表,元组和字典的异同

1,列表:list

可变的数据类型,可以被改变,可以进行嵌套处理,可在一个列表中存储一个序列的项目

指明一个列表的方法是:使用方括号

代码示例:

>>> fruit_list = ['apple', 'pear', 'orange', 'banana', 'watermetton', 'strawberry']>>> lenrth =len(fruit_list)>>>print lenrth6

>>> for items infruit_list:

print items,

apple pear orange banana watermetton strawberry>>> fruit_list.append('pawpaw') ###添加一个元素>>> fruit_list.del('apple') ###列表中删除一个元素不能用.del(),而是.remove()

SyntaxError: invalid syntax>>> fruit_list.remove('aple')

Traceback (most recent call last):

File"", line 1, in fruit_list.remove('aple')

ValueError: list.remove(x): x notinlist>>> fruit_list.remove('apple')>>>fruit_list.pop()'pawpaw'

>>> fruit_list.count('apple') ###.count()函数不是统计列表的长度,而是查找列表中某个元素出现的次数,Len(list)用于计算列表长度0

>>>print fruit_list

['pear', 'orange', 'banana', 'watermetton', 'strawberry']

2,元组

和列表类似,但是元组是不可修改的,可以进行嵌套

指明一个元组的方法:使用圆括号,中间使用“ , ”将项目分隔

创建一个元组:使用逗号分隔,或者使用tuple()函数 eg:1,2,3 ;tuple([1,2,3])

代码示例:

>>> animal_tuple = ('fish', 'snake', 'wolf',('dog', 'cat', 'sheap'))>>>len(animal_tuple) ##求解元组的长度4

>>> 1,2,3 ##创建一个元组(1, 2, 3)>>> tuple([1,2,3])

(1, 2, 3)>>>

>>> animal_tuple.append('mouse') ##元组是不可修改的

Traceback (most recent call last):

File"", line 1, in animal_tuple.append('mouse')

AttributeError:'tuple' object has no attribute 'append'

>>> animal_tuple.index('dog') ##嵌套在元组内的元组元素无法检索到!!!!!

Traceback (most recent call last):

File"", line 1, in animal_tuple.index('dog')

ValueError: tuple.index(x): x notintuple>>> animal_tuple.index('fish') ##元组的开始元素的标号是00

3,字典

把键和值联系在一起,其中键必须是唯一的,键和值之间用冒号:进行分隔

字典的表示方法:使用{},键和值之间用冒号“:”隔开,项之间用逗号“,”隔开

代码示例:

>>> phonebook_dict = {'Alice': '23456', 'Tom':'67890', 'Snowy': '67845'} ##创建一个字典>>>phonebook_dict

{'Snowy': '67845', 'Alice': '23456', 'Tom': '67890'}>>> items = [('Alice', '23456'), ('Tom','67890'), ('Snowy', '67845')] ##列表转化为字典>>> items_dict =dict(items)>>>items_dict

{'Snowy': '67845', 'Alice': '23456', 'Tom': '67890'}>>>len(items_dict)3

>>> change_items = {'Robin': '55667'}>>>items_dict.update(change_items) ##.update()更新字典内容>>>items_dict

{'Snowy': '67845', 'Alice': '23456', 'Robin': '55667', 'Tom': '67890'}>>>items_dict.items() ##字典转化为列表.items()函数

[('Snowy', '67845'), ('Alice', '23456'), ('Robin', '55667'), ('Tom', '67890')]

4:总结

把序列转化为列表:.list(seq) [1,2,3,4] >>>>.append() .remove() .pop() .index() .count() len()

把序列转化为元组:.tuple(seq) (1,2,3,4) >>>>>.index() .count() len()

把序列转化为字典: .dict(seq) {'1' : 'Snowy', '2':'Tom', '3': 'Alice'} >>>>.update() .pop() len()

字典转化为列表: items(dict)

PS:string相当于字符元组

array:只能存储同种数据类型的数据,区别于list,相比较list使用的空间更小,通过 from array import array 可以使用array模块

zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表)

code:

>>> a = ['1', '2']>>> b = ['a', 'c', 'd']>>>zip(a,b)

[('1', 'a'), ('2', 'c')]>>> zip(*zip(a,b))

[('1', '2'), ('a', 'c')]>>> a = [[1,2,3],[4,5,6],[7,8,9]]>>>zip(a)

[([1, 2, 3],), ([4, 5, 6],), ([7, 8, 9],)]>>> print [row[0] for row ina]

[1, 4, 7]>>> zip(*a)

[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

(*)操作符与zip函数配合可以实现与zip相反的功能,即将合并的序列拆成多个tuple。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/513899.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

读懂 Redis 源码,我总结了这7点心得

作者|Magic Kaito来源|水滴与银弹阅读本文大约需要 8 分钟。你好,我是 Kaito。用了这么久的 Redis,也翻了很多次源码,经常有人问我到底怎么读 Redis 源码。一提到读源码,很多人都会比较畏惧,认为读源码是高手才会做的事…

linux c url下载文件,OpenCV教程之使用cmake生成MakeFile时下载文件

在编译OpenCV以及其附加模块时,有时会需要一些第三方的库,如果本地没有,会自动下载,下载地址一般为GitHub,结果当然就是卡死在那里,根本无法下载,下面教大家如何解决这种问题。问题重现比如我在…

OpenTelemetry 简析

简介: OpenTelemetry 是 CNCF 的一个可观测性项目,旨在提供可观测性领域的标准化方案,解决观测数据的数据模型、采集、处理、导出等的标准化问题,提供与三方 vendor 无关的服务。 2021.02.10,OpenTelemetry 的 tracing…

涨姿势 | 一文读懂备受大厂青睐的ClickHouse高性能列存核心原理

简介: 本文尝试解读ClickHouse存储层的设计与实现,剖析它的性能奥妙 作者:和君 引言 ClickHouse是近年来备受关注的开源列式数据库,主要用于数据分析(OLAP)领域。目前国内各个大厂纷纷跟进大规模使用&…

xp正版验证补丁_实操web漏洞验证——IIS HTTP.sys 整数溢出漏洞

一、漏洞描述Http.sys 是一个位于 Windows 操作系统核心组件,能够让任何应用程序通过它提供的接口,以 Http 协议进行信息通讯。微软在 Windows 2003 Server 里引进了新的 HTTP API 和内核模式驱动 Http.sys,目的是使基于 Http 服务的程序更有…

普通公司编程水平与BAT大厂相比,差距到底有多大?

前言BAT的牛人多,普通人也多,虽然他们不是每个人都能达到令人仰望的技术水平,但毕竟平台高,所以眼光会变得宽阔;代码要求更为严格,所以普通的程序员也会被逼变得更优秀;身边的牛人多&#xff0c…

mindi linux 使用教程,Linux使用入门教程之tuned

tuned是RHEL6推出的调优工具,可以简单、动态的调整系统。默认的tuned软件包包含9个调优配置文件,对laptop、desktop、server系统的省电策略、磁盘调度算法、缓存、内存脏页回写等等的调节。tuned包安装后有两个服务,tuned和ktune,…

货运物流移动端解决方案:为货运物流行业打造高性能、高粘性的“双端”触点

简介: 在业务碎片化的情景下,怎么通过平台做整合,建立你的专业化运维池? 从 2020 年发展网络货运以来,在互联网和大数据的协作下,传统的物流企业逐渐转向信息化模式,在政策的不断推动下&#xf…

互联网泛娱乐直播安全的解决之道

简介: 阿里云的CDN和视频云产品在直播安全场景下有广泛的应用,阿里巴巴集团的淘宝、优酷等业务的直播正是基于这些产品底层能力,构建了强大的直播安全体系。这个基于阿里巴巴集团自身业务实践打磨出来的架构设计,也被众多上云客户…

wps office2019PC版和Mac版_学用系列WPS教育版的“十八般武艺”

相信不少朋友都在使用wps进行办公学习,但相信不少教师学生肯定不知道其实WPS还很用心提供教育版,里面有不少实用且好用的学习工具可以让我们的学习如虎添翼。今天胖胖老师就为大家介绍一下新版本WPS教育版的“十八般武艺”,欢迎大家一起来尝鲜…

只因“薪水过高”!被欠薪三个月后遭解雇,程序员删库反击

译者 | 弯月 责编 | 王晓曼出品 | 程序人生 (ID:coder _life)非技术出身的公司创始人往往并不了解开发人员的价值。如果他们的产品是科技产品,那么开发人员就是公司的燃料。我从一位同事那里听到了这个故事。故事的主人公叫做小…

linux模拟内存数据落盘,Linux:保证数据安全落盘

背景在很多IO场景中,我们经常需要确保数据已经安全的写到磁盘上,以便在系统宕机重启之后还能读到这些数据。但是我们都知道,linux系统的IO路径还是很复杂的,分为很多层,每一层都可能会有buffer来加速IO读写。同时&…

阿里云高级技术专家周哲:阿里云边缘云原生应用实践

简介: 为什么需要边缘云原生?边缘云原生的技术特性和优势是什么?它可以为行业提供哪些关键能力?又有哪些场景适合边缘云原生呢?在MEC全球应用开发者大会的“MEC开放论坛”上,阿里云高级技术专家周哲进行了《…

dataframe 如何选中某列的一行_PySpark和SparkSQL基础:如何利用Python编程执行Spark(附代码)

作者:Pinar Ersoy翻译:孙韬淳校对:陈振东本文约2500字,建议阅读10分钟本文通过介绍Apache Spark在Python中的应用来讲解如何利用PySpark包执行常用函数来进行数据处理工作。Apache Spark是一个对开发者提供完备的库和API的集群计算…

重磅官宣:Nacos2.0 发布,性能提升 10 倍

简介: 继 Nacos 1.0 发布以来,Nacos 迅速被成千上万家企业采用,并构建起强大的生态。但是随着用户深入使用,逐渐暴露一些性能问题,因此我们启动了 Nacos 2.0 的隔代产品设计,时隔半年我们终于将其全部实现&…

云海再获中国第一 OpenStack社区Xena版本新特性快来划重点

10月6日,OpenStack社区发布了第24个版本Xena(简称,X版本),该版本在短短25周时间内接收到来自全球40多个国家、超过125个不同组织的680多名贡献者近15000项提交,广泛引起了世界范围内开发者群体的关注。 浪…

deepin linux 2014 硬盘安装教程,Linux Deepin的硬盘安装

于是装了,问题来了,即使执行了sudo umount -l /cdrom,也不能直接把原来的个人文件分区挂成/home,因为liveCD的内容还放在这个上面(想不通,我只是挂载,又不格式化,怎么就行了?新氧好像…

一站式云原生智能告警运维平台——SLS新版告警发布!

简介: 本文介绍什么是云原生可观测性需求以及告警限制,介绍一站式云原生智能告警运维平台——SLS新版告警。 前言 本篇是SLS新版告警系列宣传与培训的第一篇,后续我们会推出20系列直播与实战培训视频,敬请关注。 系列目录&#…

ansible 修改文件变量_基于ansible的批量配置生成

背景网络运维,我们有很多时间是在准备配置的路上,咱们之前也讲过,从脑海中或者是从自己的宝藏笔记中找出模板,一顿操作猛如虎,Ctrl C Ctrl V。这个过程是十分危险的,因为人不是机器,肯定会出错&…

Fluid — 云原生环境下的高效“数据物流系统”

简介: 为了解决大数据、AI 等数据密集型应用在云原生计算存储分离场景下,存在的数据访问延时高、联合分析难、多维管理杂等痛点问题,南京大学 PASALab、阿里巴巴、Alluxio 在 2020 年 9 月份联合发起了开源项目 Fluid。Fluid 本质上是一个云原…