|
列表list | 元组 tuple | 集合set | 字典dict |
数据类型 |
序列 |
序列 |
集合
|
映射 |
可变序列 | 可变 | 不可变 | - | - |
可变对象 | 可变 | 不可变 | 可变 | 可变 |
初始化 |
list1 = list() list1 = [] |
tuple1 = tuple() tuple1 = () |
set1 = set() set=([iterable]) |
dict1 = dict() dict1 = {} |
示例 | list1 = [1, 'a',True] | tuple1 = (1,3,['a', 'b']) |
set1 ={1, 3, 5} set1 ={1, 3, True} =>{1, 3} |
dict1 = {'a': 'hello', 2: 'world'} |
切片 | [] | [] | - | - |
追加 |
list.append() |
不可追加 使用 + 实现元组合并 |
set.add(key) | dict[newkey]=new_value |
遍历 |
for in |
for in | for in | for in |
插入 | list.insert(k,value) | 不可插入 |
set.add(key) |
dict[key]=value |
修改 | list[k]=new_value | 不可修改 |
|
dict[key]=value |
排序 |
list.sort()#修改原list,无返回 sorted(list)#返回一个新list |
sorted(tuple) | 无序 | 无序 |
删除 |
list.pop(), list.pop(k) del list[index] |
不可删除单个元素, 使用del 删除整个元组 |
set.remove(key) |
dict.pop(key) del dict[key] |
访问 | list[k] | tuple[k] |
set[key] |
dict[key], dict.get(key) |
常用函数&方法 |
len(),min(), max() cmp() --------------------- append(), count(),extend(),index(),insert(),pop(),remove, reverse(),sort() |
len(),min(), max() cmp() |
len()
----------------
add(),clear(),copy(),difference(),difference_update()
discard(),intersection(),intersection_update(),isdisjoint() issubset(),issuperset(),pop(),remove(),union(),update() 使用运算符:- 差集 | 交集 & 并集 ^ 不同时存在 |
str(), type(), len(), cmp() --------------------- clear(),copy(), fromkeys(), get(), has_key(), items(), keys(), values(),setdefault(),update(), pop(), popitem() |
|
|
|
一组key的集合,但不存储value, 没有重复的key |
key-value存储方式,key不可重复, 一个key只能对应一个value, 多次对一个key放入不同的 value,后面的值会把前面的值覆盖 |
|
|
|
d ict和set当中都没有重复的key值,且key值必须是不可改变的对象 其他关于set的函数: a和set类型,b是可遍历类型。a.union(b), a.difference(b), a.intersection(b), a.symmetric_difference(b), a.pop(value). &(intersection), |(union), -(difference) 这三个操作符只适用于两个sets之间。
|
|
|
列表list是最自由的,可以使用索引、切片,可以进行计算和修改; 元组tuple是不自由的,数据不能更改,但是和list一样具有序列,可以用索引和切片; 字典dict是由无序的键值对构成,可以通过key去索引value的值,修改数据可以通过key来修改对应的value; set集合是无序的,不重复的,和字典类似也是使用中括号{}表示,区别在于字典是用键值对,而set由数据或者元素或者列表构成; |
|||
|
tuple是什么? 另一种有序列表叫元组:tuple。 tuple和list非常类似,但是tuple一旦初始化就不能修改,比如同样是列出同学的名字: list 和tuple的区别? list 列表有 增加 删除 替换等方法 而 tuple一旦初始化不能修改 1、dict 是什么? python 内置了字典: dict支持,相当于其他语言中的Map ,以键值对方式存储 key-value,具有极快的查找速度 特点: 插入、查找速度快,无序不可以重复,重复插入一个Key 会覆盖之前的 值 2、set 是什么? set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。 要创建一个set,需要提供一个list作为输入集合: >>> s = set(['A', 'B', 'C']) >>> s {'A', 'B', 'C'} 3、dict 和list的区别 和list比较,dict有以下几个特点: 查找和插入的速度极快,不会随着key的增加而变慢; 需要占用大量的内存,内存浪费多。 而list相反: 查找和插入的时间随着元素的增加而增加; 占用空间小,浪费内存很少。 所以,dict是用空间来换取时间的一种方法。
|
参考:1、 http://www.runoob.com/python/python-dictionary.html
2、 https://blog.51cto.com/14531342/2475831
3、 https://www.liaoxuefeng.com/wiki/897692888725344/923029049703744