List Tuple Dictionary 区别

  1. Dictionary 是Python的内置数据类型之一, 它定义了键和值之间一对一的关系。
  2. 每一个元素都是一个 key-value 对, 整个元素集合用大括号括起来
  3. 您可以通过 key 来引用其值, 但是不能通过值获取 key
  4. 在一个dictionary 中不能有重复的 key。给一个存在的 key 赋值会覆盖原有的值。在任何时候都可以加入新的 key-value 对。这种语法同修改存在的值是一样的。
  5. 当使用 dictionary 时, 您需要知道: dictionary 的 key 是大小写敏感的
  6. Dictionary 不只是用于存储字符串。Dictionary 的值可以是任意数据类型, 包括字符串, 整数, 对象, 甚至其它的 dictionary。在单个 dictionary 里, dictionary 的值并不需要全都是同一数据类型, 可以根据需要混用和匹配。Dictionary 的 key 要严格多了, 但是它们可以是字符串, 整数和几种其它的类型 (后面还会谈到这一点) 。也可以在一个 dictionary 中混用和配匹 key 的数据类型
  7. del允许您使用 key 从一个 dictionary 中删除独立的元素。
  8. clear从一个 dictionary 中清除所有元素。注意空的大括号集合表示一个没有元素的 dictionary。

 

  1. list是一个使用方括号括起来的有序元素集合。
  2. List 可以作为以 0 下标开始的数组。任何一个非空 list 的第一个元素总是li[0]
  3. 负数索引从 list 的尾部开始向前计数来存取元素。任何一个非空的 list 最后一个元素总是li[-1]。如果负数索引使您感到糊涂, 可以这样理解:li[-n] == li[len(li) - n]。 所以在这个 list 里,li[-3] == li[5 - 3] == li[2]
  4. 您可以通过指定 2 个索引得到 list 的子集, 叫做一个 “slice” 。返回值是一个新的 list, 它包含了 list 中按顺序从第一个 slice 索引 (这里为li[1]) 开始, 直到但是不包括第二个 slice 索引 (这里为li[3]) 的所有元素。
  5. 如果将两个分片索引全部省略, 这将包括 list 的所有元素。但是与原始的名为li 的 list 不同, 它是一个新 list, 恰好拥有与li一样的全部元素。li[:]是生成一个 list 完全拷贝的一个简写。
  6. <wbr></wbr>append向 list 的末尾追加单个元素。
  7. insert将单个元素插入到 list 中。数值参数是插入点的索引。请注意, list 中的元素不必唯一, 有有两个独立的元素具有'new'这个相同的值
  8. <wbr><tt>extend</tt>用来连接 list。请注意不要使用多个参数来调用<tt>extend</tt>, 要使用一个 list 参数进行调用。</wbr>
  9. Lists 的两个方法extendappend看起来类似, 但实际上完全不同。extend接受一个参数, 这个参数总是一个 list, 并且添加这个 list 中的每个元素到原 list 中
  10. 另一方面,append接受一个参数, 这个参数可以是任何数据类型, 并且简单地追加到 list 的尾部。 在这里使用一个含有 3 个元素的 list 参数调用append方法。
  11. index在 list 中查找一个值的首次出现并返回索引值。
  12. 要测试一个值是否在 list 内, 使用in, 如果值存在, 它返回True, 否则返为False
  13. remove从 list 中删除一个值的首次出现。
  14. pop是一个有趣的东西。它会做两件事: 删除 list 的最后一个元素, 然后返回删除元素的值。请注意, 这与li[-1]不同, 后者返回一个值但不改变 list 本身。也不同于li.remove(value), 后者改变 list 但并不返回值。
  15. Lists 也可以用+运算符连接起来。list=list+otherlist相当于list.extend(otherlist)。 但+运算符把一个新 (连接后) 的 list 作为值返回, 而extend只修改存在的 list。 也就是说, 对于大型 list 来说,extend的执行速度要快一些。
  16. <wbr><span style="word-wrap:normal; word-break:normal; line-height:21px">Python</span>支持<tt>+=</tt>运算符。<tt>li += ['two']</tt>等同于<tt>li.extend(['two'])</tt>。<tt>+=</tt>运算符可用于 list, 字符串和整数, 并且它也可以被重载用于用户自定义的类中。</wbr>
  17. *运算符可以作为一个重复器作用于 list。li = [1, 2] * 3等同于li = [1, 2] + [1, 2] + [1, 2], 即将三个 list 连接成一个。

 

  1. Tuple 是不可变 list。 一旦创建了一个 tuple 就不能以任何方式改变它。
  2. 定义 tuple 与定义 list 的方式相同, 除了整个元素集是用小括号包围的而不是方括号。
  3. <wbr>Tuple 的元素与 list 一样按定义的次序进行排序。 Tuples 的索引与 list 一样从 0 开始, 所以一个非空 tuple 的第一个元素总是<tt>t[0]</tt>。</wbr>
  4. <wbr>负数索引与 list 一样从 tuple 的尾部开始计数。</wbr>
  5. <wbr>与 list 一样分片 (slice) 也可以使用。注意当分割一个 list 时, 会得到一个新的 list ;当分割一个 tuple 时, 会得到一个新的 tuple。</wbr>
  6. Tuple 没有方法:没有appendextend方法、没有removepop方法、没有index方法、可以使用in来查看一个元素是否存在于 tuple 中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值