Dictionary 是 Python 的内置数据类型之一, 它定义了键和值之间一对一的关系。

每一个元素都是一个 key-value 对, 整个元素集合用大括号括起来

您可以通过 key 来引用其值, 但是不能通过值获取 key

在一个 dictionary 中不能有重复的 key。给一个存在的 key 赋值会覆盖原有的值。在任何时候都可以加入新的 key-value 对。这种语法同修改存在的值是一样的。

当使用 dictionary 时, 您需要知道: dictionary 的 key 是大小写敏感的

Dictionary 不只是用于存储字符串。Dictionary 的值可以是任意数据类型, 包括字符串, 整数, 对象, 甚至其它的 dictionary。在单个 dictionary 里, dictionary 的值并不需要全都是同一数据类型, 可以根据需要混用和匹配。Dictionary 的 key 要严格多了, 但是它们可以是字符串, 整数和几种其它的类型 (后面还会谈到这一点) 。也可以在一个 dictionary 中混用和配匹 key 的数据类型

del 允许您使用 key 从一个 dictionary 中删除独立的元素。

clear 从一个 dictionary 中清除所有元素。注意空的大括号集合表示一个没有元素的 dictionary。

list是一个使用方括号括起来的有序元素集合。

List 可以作为以 0 下标开始的数组。任何一个非空 list 的第一个元素总是 li[0]

负数索引从 list 的尾部开始向前计数来存取元素。任何一个非空的 list 最后一个元素总是 li[-1]。 如果负数索引使您感到糊涂, 可以这样理解: li[-n] == li[len(li) - n]。 所以在这个 list 里, li[-3] == li[5 - 3] == li[2]。

您可以通过指定 2 个索引得到 list 的子集, 叫做一个 “slice” 。返回值是一个新的 list, 它包含了 list 中按顺序从第一个 slice 索引 (这里为 li[1]) 开始, 直到但是不包括第二个 slice 索引 (这里为li[3]) 的所有元素。

如果将两个分片索引全部省略, 这将包括 list 的所有元素。但是与原始的名为 li 的 list 不同, 它是一个新 list, 恰好拥有与 li 一样的全部元素。li[:] 是生成一个 list 完全拷贝的一个简写。

append 向 list 的末尾追加单个元素。

insert 将单个元素插入到 list 中。数值参数是插入点的索引。请注意, list 中的元素不必唯一, 有有两个独立的元素具有 'new' 这个相同的值。

extend 用来连接 list。请注意不要使用多个参数来调用 extend, 要使用一个 list 参数进行调用。

Lists 的两个方法 extend 和 append 看起来类似, 但实际上完全不同。 extend 接受一个参数, 这个参数总是一个 list, 并且添加这个 list 中的每个元素到原 list 中

另一方面, append 接受一个参数, 这个参数可以是任何数据类型, 并且简单地追加到 list 的尾部。 在这里使用一个含有 3 个元素的 list 参数调用 append 方法。

index 在 list 中查找一个值的首次出现并返回索引值。

要测试一个值是否在 list 内, 使用 in, 如果值存在, 它返回 True, 否则返为 False 。

remove 从 list 中删除一个值的首次出现。

pop 是一个有趣的东西。它会做两件事: 删除 list 的最后一个元素, 然后返回删除元素的值。请注意, 这与 li[-1] 不同, 后者返回一个值但不改变 list 本身。也不同于 li.remove(value), 后者改变 list 但并不返回值。

Lists 也可以用 + 运算符连接起来。 list = list + otherlist 相当于 list.extend(otherlist)。 但 +运算符把一个新 (连接后) 的 list 作为值返回, 而 extend 只修改存在的 list。 也就是说, 对于大型 list 来说, extend 的执行速度要快一些。

Python 支持 += 运算符。 li += ['two'] 等同于 li.extend(['two'])。 += 运算符可用于 list, 字符串和整数, 并且它也可以被重载用于用户自定义的类中。

* 运算符可以作为一个重复器作用于 list。 li = [1, 2] * 3 等同于 li = [1, 2] + [1, 2] + [1, 2], 即将三个 list 连接成一个。Tuple是不可变的list.一是创建了一个tuple就不能以任何方式改变它.

定义tuple与定义list的方式相同,除了整个元素集是用小括号包围的而不是方括号.

Tuple的元素与list一样按定义的次序进行排序.Tuples的索引与list一样从0开始,所以一个非空的tuple的第一个元素总是t[0].

负数索引与 list 一样从 tuple 的尾部开始计数。

与 list 一样分片 (slice) 也可以使用。注意当分割一个 list 时, 会得到一个新的 list ;当分割一个 tuple 时, 会得到一个新的 tuple。

Tuple 没有方法:没有 append 或 extend 方法、没有 remove 或 pop 方法、没有 index 方法、可以使用 in 来查看一个元素是否存在于 tuple 中。

其中list()函数与tuple()函数接受可抚今迭代的对象(比如一个序列)作为参数,并通过浅拷贝数据来创建一个新的列表与元组.虽然字符串也是序列类型,但一般它们不用于list()与tuple().更多的情况下,它们用于在两种类型之间进行轩换,比如你需要把一个已有的元组转换成列表类型(然后你可以修改它的元素),反之也是.

alist=['123','456'];

atuple=tuple(alist);

print atuple

>>>('123', '456')

alist==atuple

>>> False

alist2=list(atuple)

alist2==alist

>>>True

alist is alist2

>>>False

再说id()确认一下, [id(x)  for x in alist,atuple,alist2]

>>>[10903800,12003900,11730280]

所以无论是list()还是tuple()都不可能做到完全转换,也就是说传递一个元组到list不会变成真正的列表,同时传递一个列表到tuple()也不会变成一个真正的元组.虽然前后两个对象有相同的数据集合,但是变量指向的不是同一个对象.需要注意的是:它们的所有值相同,一个列表也不可能"等于"一个元组的.

python list tuple区别_Python list、tuple、dict区别相关推荐

  1. r语言和python-Python和R语言的区别_Python与R的区别和联系

    Python和R语言的区别_Python与R的区别和联系 可能问这个问题会很无脑,但是我还没有深入接触过Python,只是用过R语言.谁能帮我解答一下,这两者的主要区别呢?是否存在代替关系呢? 精彩解 ...

  2. python字典的数据结构_Python数据结构之三——dict(字典)

    Python版本:3.6.2  操作系统:Windows  作者:SmallWZQ 知识源于生活.Python也是如此. 提到字典,我首先想到的是数学大师--高斯. 为何想起他呢?这主要是因为高斯算法 ...

  3. isdigit函数python检测数字个数_Python isdecimal isdigit isnumeric区别

    Python isdecimal() isdigit() isnumeric()区别教程 isdecimal() isdigit() isnumeric()比较 函数 描述 isdecimal() 是 ...

  4. python install pip 区别_python conda、pip区别,python 下 faiss 安装

    在安装一些python的安装包时,我们会使用conda install ~或者pip install ~ 网上说conda是安装到云端,而pip是安装到本地,那二者究竟有什么区别,可以参考下这个点击打 ...

  5. python格式化输出区别_python格式化输出的区别

    python对于数的输出包括%d和%f,下面来详细介绍python对数的输出. (1)输出整型 a=55 print("%d"%a) #直接输出整数a print("%4 ...

  6. python列表字典的区别_python列表和字典区别

    列表 1.任意对象的有序集合 列表是一组任意类型的值,按照一定顺序组合而成的 2.通过偏移读取 组成列表的值叫做元素(Elements).每一个元素被标识一个索引,第一个索引是0,序列的功能都能实现 ...

  7. matlab与python区别_python和matlab的区别

    详细内容 Python是一种面向对象的解释型计算机程序设计语言.Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议 . ...

  8. python语言与其他语言的区别_python与其他编程语言区别全在这

    对于接触过编程语言的人来说,如果要快速上手python,首先要了解python和其他编程语言的主要区别在哪?下边勇哥主要以使用较多的JAVA和C语言来做对比.喜欢的话,希望大家关注我们,我们会持续推出 ...

  9. python中全局变量和局部变量的区别_Python全局变量与局部变量区别及用法分析

    本文实例讲述了Python全局变量与局部变量区别及用法.分享给大家供大家参考,具体如下: 对于很多初学的同学,对全局和局部变量容易混淆,看看下面给大家的讲解相信都应该明白两者的区别了. 定义: 全局变 ...

  10. python和c语言和java有什么区别_python和c的区别 python、java和c语言的区别?

    Python和c语言有什么区别如果我的坚强任性,会不小心伤害了你.你能不能温柔提醒,我虽然心太急,更害怕错过你 前者为 脚本语言 需要虚拟机 解释执行 ..一般情况下 不能生成exe(要使用打包工具) ...

最新文章

  1. telnet检查接收邮件命令
  2. ICML 2021文章引发热议:矩阵乘法无需相乘,速度提升100倍
  3. CodeCraft-21 and Codeforces Round #711 (Div. 2)
  4. BZOJ4127Abs——树链剖分+线段树
  5. 【2017001】IList转DataTable、DataTable转IList
  6. 汇编语言-王爽 随书源码、检测点、实验答案
  7. 一个人要干成事,需要搞清楚自己的三个“半径”
  8. 知名开源操作系统两大老板闹翻,一位联合创始人被迫退出,道一声:再见
  9. Oracle数据库学习(一)--数据库原理及SQL
  10. Mini Cheetah 代码分析(六)机身控制器MPC控制器
  11. 全新帝国CMS7.5大气科技感网站建设+网络公司网站源码
  12. tinymce富文本编辑器(vue)
  13. 入职中国人寿是个坑?
  14. linux桌面应用小结,Linux桌面应用技巧大全
  15. 经验分享:新媒体运营离不开的几款运营软件
  16. AsyncTask——AsyncTask串行and并行
  17. 迅为RK3588开发板Linux安卓12瑞芯微ARM核心板人工智能工业AI主板
  18. 【新手向】C语言中“=”与“==”的区别及使用方法
  19. vertical-align作用,基线详解
  20. 基于安卓的视频遥控小车——电脑端开发

热门文章

  1. php acl,php – 访问控制和XHR请求
  2. php左右菜单,JQuery实现左右滚动菜单特效_jquery
  3. zipkin brave mysql_Zipkin和Brave实现http服务调用的跟踪
  4. 阿里P7三面被这10个SpringCloud微服务问题难倒,杯具!
  5. 在Oracle中写出性能优良的SQL语句
  6. debug最常用的快捷键
  7. ssm当用户登录成功显示用户名_从零到企业级SSM电商项目实战教程(十八)用户登录功能开发...
  8. linux 2.6内核进程调度,Linux2.6内核进程调度系列--scheduler_tick()函数2.更新实时进程的时间片,...
  9. Java基础-HashMap集合
  10. 对于Python中回调函数的理解