Python-list、tuple、dict、set ゝ一纸荒年。 2022-03-09 07:42 267阅读 0赞 [参考教程][Link 1] ### 文章目录 ### * * List * tuple * dict * set ## List ## list是一种有序的集合 name = ['julian', 'kerr', 'Ryan' 1, 99] * list内部元素:可以不同类型,如上所示,也可以包含列表:`name=['jj', 'dd', ['julian', 'Andrison'] ,'Candy']` , 访问:name\[2\]\[0\]=‘julian’ * 获取元素个数:`len(name)` * 通过索引访问:`name[0]表示第一个元素` ,从0开始到 n-1 , 也可以从**最后往前**`name[-1]表示最后一个,name[-2]:倒数第二个` * 增加、删减元素: 1. 追加元素 `name.apend('mike')` 2. 插入到指定位置:`name.insert(1, 'jack')` 3. 删除末尾元素:`name.pop()` 4. 删除指定元素:`name.pop(i)` 5. 把某个元素替换成别的元素:`name[1]='jjjj'` -------------------- ## tuple ## 另外一种列表叫元组:tuple和list非常类似,但是tuple一旦初始化就不能修改,在定义的时候,tuple的元素就必须被确定下来 name = ('julain', 'kerr', 'Candy', ('jaoi', 8, 'j')) * 因为不能修改所以没有 删除、插入等操作 * 获取:`name[1] name[-1] name[2][1]等` * 如果元组只有一个元素,避免和括号发生歧义,通常这么必须加一个逗号消除歧义:`number = (1 ,)` * “可变元组”:比如: `t = ('a', 'b', ['A', 'B'])` ,这样元组里面的**list的元素**是可以改变的 -------------------- ## dict ## Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 d = { 'julian':98, 'kerr':99, 'san':100} * 获取:`d['julian']` * 赋值:`d['julian'] = 97` * 判断key值是否在字典中: 1. `'julian in d'` 返回 True or False 2. `d.get('julian')` 返回value or none ,或者可以指定**没有此Key时候**返回特定值:`d.get('julian', -1)` * 删除:`d.pop('julian')` ,对应的value也删除 * 和 list 的区别 dict: 1. 查找和插入的速度极快,不会随着key的增加而变慢; 2. 需要占用大量的内存,内存浪费多。 而list相反: 1. 查找和插入的时间随着元素的增加而增加; 2. 占用空间小,浪费内存很少。 dict是用空间来换取时间的一种方法,需要牢记的第一条就是dict的key必须是**不可变对象** (数字、字符串、元组) -------------------- ## set ## set和dict类似,也是一组key的**集合**,但不存储value。key**不能重复**。 * 创建需要 list 作为输入集合:`s = set( [1,2,3,4] )` * 重复的元素会被过滤:`s = set( [1, 2, 100, 3, 4, 4, 2, 2, 4] )` :输出:`s={1, 2, 100, 3, 4}` * 添加元素:`a.add(101)` * 删除元素:`a.remove(100)` * 集合操作:交集:`a & b` 并集:`a | b` [Link 1]: https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014316724772904521142196b74a3f8abf93d8e97c6ee6000
还没有评论,来说两句吧...