我们使用 ‘==’ 来判断list,tuple,dict,set 中的值是否为某个值。还可以使用’>=’,’<=’,’>’,’<'进行值大小比较。
使用‘in’ 判断list,tuple,dict,set 中是否包含某个值。list,tuple,set 都可以用 in 直接判断是否包含某个值。
list
增 | |
---|
append | 末尾插入一个元素 |
insert | 指定位置,插入元素 |
extend | 末尾插入多个元素 |
+ | 通过 + 合并多个 list |
In[1]: list1 = ['a','b',1,5]
In[2]: list1.append('z')
In[3]: print(lsit1)
Out[3]: ['a','b',1,5,'z']
In[1]: list1 = ['a','b',1,5]
In[2]: list1.insert(1,3)
In[3]: print(lsit1)
Out[3]: ['a',3,'b',1,5]
In[1]: list1 = ['a','b',1,5]
In[2]: list1.extend([7,8])
In[3]: print(lsit1)
Out[3]: ['a','b',1,5,7,8]
In[1]: list1 = ['a','b']
In[2]: list2 = [1,5]
In[3]: list1 = lsit1 + list2
In[4]: print(list1)
Out[4]: ['a','b',1,5]
删 | |
---|
pop | 删除末尾的元素。传入参数时,可以删除指定位置的元素 |
remove | 根据传入值的内容,将匹配的第一个元素删除 |
clear | 将所有元素删除 |
In[1]: list1 = ['a','b',1,5]
In[2]: list1.pop()
In[3]: print(lsit1)
Out[3]: ['a','b',1]
In[1]: list1 = ['a','b',1,5]
In[2]: list1.pop(1)
In[3]: print(lsit1)
Out[3]: ['b',1,5]
In[1]: list1 = ['a','b',1,5]
In[2]: list1.remove('a')
In[3]: print(lsit1)
Out[3]: ['b',1]
In[1]: list1 = ['a','b',1,5]
In[2]: list1[0] = 9
In[3]: print(lsit1)
Out[3]: [9,'b',1,5]
In[1]: list1 = ['a','b',1,5]
In[2]: list1[0:2] = 9
In[3]: print(lsit1)
Out[3]: [9,9,1,5]
查 | |
---|
in | 判断某个值是否为list中的元素 |
index | 查询某个元素在list中的位置 |
In[1]: list1 = ['a','b',1,5]
In[2]: print('a' in list1)
Out[2]: True
In[1]: list1 = ['a','b',1,5]
In[2]: print(list1.index('a'))
Out[2]: 0
其它操作 | | 条件 |
---|
复制 | 使用 * 实现复制操作 | |
max | 寻找list中的最大值 | list的元素类型必须为int,float,bool |
min | 寻找list中的最小值 | list的元素类型必须为int,float,bool |
reverse | 将list进行反向排序 | |
sort | 对list排序 | list的元素类型必须为int,float,bool |
count | 统计某个值在list中出现的次数 | |
In[1]: list2 = [12, 123, True,56.6]
In[2]: list_multi = list2 * 1
In[3]: print(list_multi)
Out[3]: [12, 123, True,56.6]
In[1]: list2 = [12, 123, True,56.6]
In[2]: list_multi = list2 * 2
In[3]: print(list_multi)
Out[3]: [12, 123, True,56.6,12, 123, True,56.6]
In[1]: list2 = [12, 123, True,56.6]
In[2]: list_max = max(list2)
In[3]: print(list_max)
Out[3]: 123
In[1]: list2 = [12, 123, True,56.6]
In[2]: list_min = min(list2)
In[3]: print(list_min)
Out[3]: True
In[1]: list3 = ['Apple', 123, True,'boy']
In[2]: list3.reverse()
In[3]: print(list_3)
Out[3]: ['boy', True, 123, 'Apple']
In[1]: list4 = [256, 123, True,359]
In[2]: list4.sort()
In[3]: print(list_4)
Out[3]: [True, 123, 256, 359]
In[4]: list4.sort(reverse = True)
In[5]: print(list_4)
Out[5]: [359, 256, 123, True]
In[1]: list5 = ['A','B','A','D']
In[2]: print(list1.count('A'))
Out[2]: 2
tuple
元组通过 ( ) 来定义。
注意
当元组只有一个数字时,如:(1) 这种情况往往被识别为整数:1,因为数学中‘()’代表小括号的意思。请用(1,)来标识。我们可以通过元组嵌套的方式,定义二维元组。
与 list 的区别
元组的元素一旦被定义,则不能被修改。
如果元组的元素是列表,会怎样呢?
列表整体不能改变,但是列表中的元素依然可以改变。
In[1]: tuple1 =(1,2,[3,4,5,6])
In[2]: tuple1[2][1] = 2
In[3]: print(tuple1)
Out[3]: (1, 2, [3, 2, 5, 6])
list 和 tuple可以互换
list1 = [1,2,3]
tuple1 = (1,4,5,6)
tuple(list1)
list(tuple1)
dict
字典通过 { } 来定义。以键值对 key–value 的方式存储。一个key对应一个value,但是key不能重复,value可以重复。
可以通过字典嵌套的方式,定义一个二维字典。
key必须保持确定性,所以key不能使用list这种可变的数据结构。
dict字典必须指定key才能访问到它的值。
增 | |
---|
update | 通过update增加字典的键值对,也可更改已有的键值对 |
my_dict = {}
my_dict.update({'A':1})
删 | |
---|
pop | 删除传入字段的key和对应的value |
clear | 删除所有的key和value |
my_dict = {'Bob':94,False:'88',5:'hello!',3.7:True}
my_dict.pop('Bob')
my_dict.clear()
改 | |
---|
直接赋值 | 直接对key对应的value直接赋值。没有对应的key会报错 |
update | 修改字典 |
my_dict = {'Bob':94,False:'88',5:'hello!',3.7:True}
my_dict['Bob'] = 88
my_dict.update({'Bob':88,'Alice':99})
查 | |
---|
in | 判断参数是否在key里面 |
get | 判断参数是否在key里面 |
其它 | |
---|
获取dict的key集合 | my_dict.keys |
获取dict的value集合 | my_dict.values |
set
集合用 { } 定义。set 中的元素不能重复。list 可以。
可以利用set对list做去重复的操作。
set不能访问值,如果需要访问,则转换为list。
删 | |
---|
pop | 删除第一个元素 |
remove | 删除指定值,没有该值会报错 |
discard | 删除指定值,没有该值,set不改变 |
clear | 删除所有值 |
格式转换
列表list,元组tuple,集合set的相互转换
list,tuple,set是可以相互转换的。 需要注意的是set集合不能存在重复的元素,所以如果list和tuple中有重复的元素,在转换成set时,会被自动删除。 我们也可以通过转换set,再转换回来进行去重复的操作。
列表转字典
定义key列表和value 列表 通过dict(zip(key,value))进行转换。 zip :把输入的key,value 成对打包成元组。
类型判断
我们不能对数值型的变量进行数学计算,我们有时候会生成None类型,需要进行判断。保证后续程序能够正常执行。