Python中list、tuple、dict区别

本文深入探讨Python中数据结构(如字典、列表、元组)和算法(如排序、动态规划)的核心概念与应用实例,提供清晰的示例和代码解析。
  1. Dictionary 是 Python 的内置数据类型之一,它定义了键和值之间一对一的关系。
  2. 每一个元素都是一个 key-value 对, 整个元素集合用大括号括起来
  3. 您可以通过 key 来引用其值, 但是不能通过值获取 key
  4. 在一个 dictionary 中不能有重复的 key。给一个存在的 key 赋值会覆盖原有的值。 2 在任何时候都可以加入新的key-value 对。这种语法同修改存在的值是一样的。
  5. 当使用 dictionary 时, 您需要知道: dictionary 的 key 是大小写敏感的
  6. Dictionary 不只是用于存储字符串。Dictionary 的值可以是任意数据类型, 包括字符串, 整数, 对象,甚至其它的 dictionary。在单个 dictionary 里, dictionary 的值并不需要全都是同一数据类型,可以根据需要混用和匹配。 2 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]。 2 如果负数索引使您感到糊涂,可以这样理解: 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.  append 向 list的末尾追加单个元素。
  7. insert 将单个元素插入到 list 中。数值参数是插入点的索引。请注意, list 中的元素不必唯一,有有两个独立的元素具有 'new' 这个相同的值
  8.  extend 用来连接 list。请注意不要使用多个参数来调用extend, 要使用一个 list 参数进行调用。
  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.  Python 支持 += 运算符。li += ['two'] 等同于 li.extend(['two'])+=运算符可用于 list, 字符串和整数, 并且它也可以被重载用于用户自定义的类中。
  17. * 运算符可以作为一个重复器作用于 list。 li = [1, 2] * 3 等同于li = [1, 2] + [1, 2] + [1, 2], 即将三个 list 连接成一个。

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


Python中的list(列表),tuple(元组),dict(字典)和set(集合)是常见的数据结构。 1. 列表(list)是一个可变的、有序的元素集合。可以通过方括号[]来创建一个列表,列表中的元素可以是任意类型,并且可以重复。列表提供了丰富的操作方法,如添加元素、删除元素、获取元素等。 2. 元组(tuple)是一个不可变的、有序的元素集合。可以通过小括号()来创建一个元组,元组中的元素可以是任意类型。元组一旦创建后,不能修改其元素的值。元组通常用于存储不可变的数据,如坐标位置、颜色等。 3. 字典(dict)是一种键值对(key-value)的数据结构。可以通过花括号{}来创建一个字典,字典中的元素是无序的,并且每个元素由一个键和对应的值组成。字典中的键必须是唯一的,而值可以是任意类型。字典提供了根据键获取值、添加键值对、删除键值对等操作。 4. 集合(set)是一个无序的、不重复的元素集合。可以通过花括号{}或set()函数来创建一个集合,集合中的元素不能重复。集合提供了并集、交集、差集等常用的数学运算操作,同时还支持元素的添加、删除等操作。 在编程中,根据具体的需求选择使用合适的数据结构能够更高效地处理数据,并且提供相应的操作方法方便开发。以上是对Python中常见的列表、元组、字典和集合的简要介绍。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值