【Python Interview】Python列表、元组、集合与字典

list(列表)

定义

  • 定义列表:变量名=[val1,val2,…,valn],其中值可以是任意类型的数据或者容器;空数组:变量名=[] 或者 变量名=list()
  • 列表为每个元素分配下标,所以可以使用下标直接随机访问数据,同时列表有增删查改操作

操作

函数说明
list.append(val)将括号中的数据添加到列表末尾
list.extend(val)合并列表,将括号中的列表添加到列表中,按序添加
list.insert(下标,值)将括号中的值添加到列表指定下标处

函数说明
list.pop()默认删除末尾的元素,并返回此值
list.pop(下标)根据下标删除,并返回此值
del list[下标]根据元素下标删除,无返回值
list.clear()清空列表

函数说明
list[下标]根据下标查找值,引用该值
list.index(值)根据值查找其在列表中的位置(下标),并返回该下标,若有多个该值,则返回第一个索引
list.count(值)统计该值在列表中出现的次数并改回统计结果
len(list)计算列表长度,并返回该长度值
max(list)、min(list)查询列表最大值、最小值,并返回该值(但列表中的值必须是同类型的数据,例如:都是数字,或者都是字母,或者都是列表或者都是元组)

函数说明
list[下标]=值根据下标直接修改
list[切片]=值这种操作会将指定的列表片段更换指定的值,但是值必须是一个可迭代对象,并且切片长度可以和可迭代对象的长度不一致,因此,这种操作也有可能改变列表的长度

判断

函数说明
in或者not in判断元素是否存在于列表中

脚本操作

函数说明
list1+list2将两个列表组合成一个列表
list*num将一个列表中的元素重复num次

排序

函数说明
list.reverse()反转列表元素,对原列表直接操作,返回空值
list.sort()对原列表进行由小到大排序,属于直接操作,返回空值
sorted(list)对参数列表进行排序,原列表不会变化,会返回一个排序后的新列表

切片

函数说明
list[num1:num2(:num3)]num1 表示起始位置,num2 表示终止位置,num3 表示步长;默认值:num1 = 0 num2 =列表长度,num3 = 1 ;num2 位置元素不会取到

tuple(元组)

定义

  • 变量名=tuple()
  • 元组是一个按添加顺序排列的容器,可按下标取值
  • 元组=操作受限的列表。元组不可增、删、改。但可以查找。

与列表的转化

  • 列表=list(元组)
  • 元组=tuple(列表)

set(集合)

定义

  • set是一个无序,无重复元素的集合,可以用来过滤重复元素
  • 定义空集合:a=set();定义集合:a={val1,val2,…valn},注意不是 {} ,若是 a={} 则是创建空字典
  • 集合中不能存储不能进行哈希计算的数据类型,如列表、字典、甚至集合都不能存放在集合中,可以存放的数据类型有如数值、字符串、布尔、空值和元组等

操作

函数说明
set.add(值)向集合中添加一个元素
set.update(值)值一个可迭代的内容,一一加入,例如列表、元组、字典、集合、字符串。注意:如果添加字典,则只会将 键 添加进去;若果是字符串,则会将每一个字符逐个加入

函数说明
set.remove(值)移除指定的值。若值不存在,会报错
set.discard(值)同上,但值不存在不会报错
set.pop()随机删除一个
set.clear()清空集合

其他操作

函数说明
|并集
& intersection交集
- different差集
in判断
union联合,例如;A.union(B) 合并A,B 并返回合并后的集合
issubset子集,例如:A.issubset(B) A是B的子集,返回布尔值
issuperset父集,例如:A.issuperset(B) A是B的父级,返回布尔值

dict(字典)

定义

  • 定义空字典:a={},定义字典:a={key1:value1,key2:value2,key3:value3,…,keyn:valuen}
  • 使用大括号括起来,使用键值对进行存储,具有极快的查找速度,只能根据 键 查找对应的值
  • 键 (key)必须是不可变类型:如字符串,数字,元组。键 必须是唯一的,不可以重复
  • 值可以是任意类型的数据或容器
  • 键值对的存储顺序是无序的,即:存放顺序与放入顺序是没有关系的

操作

增/改

字典[键]=值若字典里已经有该键值,则会将原有的覆盖,即实现了字典的修改;若字典里没有该键,则会添加改键并赋值

函数说明
字典.pop(键)将该键对应的值删除并返回该值
del 字典[键]根据键删除值,返回空类型(无返回值)
字典.popitem()随机删除一个
字典.clear()清空字典

函数说明
字典[键]根据键查找值,并返回
字典.get(键,[默认值])通过字典中的 get 方法查找对应的键值,如果没有该键值则返回None或者自己设置的默认值
len(字典)求字典长度,一个键值对占据一个长度
str(字典)字典转化为字符串显示
dict.keys()把字典中的所有键值,收集为一个列表并改回该列表,但该列表类型为:class’dict_keys’,和 list 类型不一样
dict.values()把字典中的所有值,收集为一个列表并返回该列表,但其类型为:class’dict_values’
dict.items()把字典中的所有键值对,收集为一个列表并返回该列表,但其类型为:class’dict_items’
以上三中类型是字典中的内置函数,返回的数据并不是严格意义上的列表,因为返回的数据无法使用列表的内置方法

判断

函数说明
in 或者not in判断字典键、值或者键值对是否在字典中 A in dict

遍历

1、for key in dict.keys():
2、for key in dict():
3、for k,v in dict.items():

其他

函数说明
dict,copy()返回一个复制的字典,内容一样,地址不同
dict.fromkeys(seq,[,values])以 seq 序列中的元素作为键,values为值,创建一个新的列表
dict.setdefault(key,default=None)和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default 如果键在字典中,返回这个键所对应的值;如果键不在字典中,向字典中插入这个键,并且以default为这个键的值,并返回 default。default的默认值为None
dict.update(dict2)把 dict2 中的键值对更新至 dict 中; 相当于列表中的 extend 函数

注意:
正确使用dict非常重要,需要牢记的第一条就是dict的key必须是不可变对象。这是因为dict根据key来计算value的存储位置,如果每次计算相同的key得出的结果不同,那dict内部就完全混乱了。这个通过key计算位置的算法称为哈希算法(Hash)。要保证hash的正确性,作为key的对象就不能变。在Python中,字符串、整数等都是不可变的,因此,可以放心地作为key。而list是可变的,就不能作为key。

>>> key = [1, 2, 3]
>>> d[key] = 'a list'
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZoomToday

给作者倒一杯卡布奇诺

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值