- 食用说明:本笔记适用于有一定编程基础的伙伴们。希望有助于各位!
列表
列表类似数组,其中可以包含不同类型的元素,写法如下:
list1 = ['Google', 'Runoob', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]
list4 = ['red', 'green', 'blue', 'yellow', 'white', 'black']
- 通常情况下我们使用方括号包裹多个元素,组成列表
列表的相关方法
list1 = [1, 2, 3, 4, 5, 6, 7, 8]
# 第一个冒号 : 表示切片操作的开始。
# 第二个冒号 : 表示切片操作的结束。
# 3是步长(stride),表示每隔3个元素选择一次。
print(list1[0:8:3])
# 寻找元素的下标
print(list1.index(2))
# 寻找元素出现的次数
print(list1.count(2))
# 翻转数组
print(list1.reverse())
# 排序数组
print(list1.sort())
# 移除最后一个元素
print(list1.pop())
# 移除特定位置元素
print(list1.pop(0))
# 移除列表中以值指定元素的索引,默认移除首个元素
print(list1.remove(3))
# 添加元素
list1.append(9)
# 插入元素
list1.insert(0, 0)
# 删除某个元素
del list1[0]
print(list1)
# 删除列表
list1.clear()
- 以上为列表常用方法,此处可以用于回顾翻阅
- 其中pop和append方法类似于JS中pop和unshift方法
- remove方法更类似于JS中的splice方法,但通常情况下remove的参数值时一个元素值而非下标
元组
元组是一种只读不可修改的列表:
>>> tup1 = ('Google', 'Runoob', 1997, 2000)
>>> tup2 = (1, 2, 3, 4, 5 )
>>> tup3 = "a", "b", "c", "d" # 不需要括号也可以
>>> type(tup3)
<class 'tuple'>
- 元组常用于一些数据集合,而这些数据集合又不可被更改
元组的相关方法
tuple1 = (1, 2, 3, 4, 5)
tuple2 = (1, 2, 3, 4, 5)
tuple3 = tuple1 + tuple2
# 长度
print(len(tuple3))
# 最大值
print(max(tuple3))
# 最小值
print(min(tuple3))
# 寻找元素出现次数
print(tuple3.count(1))
# 寻找第一个元素所在位置
print(tuple3.index(1))
list1 = [1, True, [1, 2]]
# 可迭代类型转化为元组类型
tuple4 = tuple(list1)
print(type(tuple4), tuple4)
- 由于元组的不可修改性,其不包含元素的修改和排序等内置方法
- 虽然元组内元素不可修改,但其自身可以通过del关键字删除
- 同样的,查询元素与列表类似
字典
字典类似JS中的对象:
- 字典由键值对组成,与JS不同的是键必须使用引号包裹
字典的相关方法
# 使用内建函数初始化字典类型
dict1 = dict()
print(type(dict1), dict1)
# 字典更新
dict1['name'] = 'Pole'
# 访问字典
print(dict1['name'])
# 删除字典元素
del dict1['name']
print(dict1)
# 新增元素
dict1['name'] = 'pole'
# 浅拷贝
dict2 = dict1.copy()
print(type(dict2), dict2)
# 生成新的字典类型,第一个参数是可迭代类型,一般是一个键列表,第二个参数是值
dict3 = dict1.fromkeys(dict1, 'Pole')
print(dict3)
# 获取某个键的值
print(dict1.get('name'))
# 查询对应键是否在字典中
print('name' in dict1)
# 返回所有键,默认返回视图对象
print(dict1.keys())
# 返回字典,默认返回视图对象
print(dict1.items())
# 返回字典值,默认返回视图对象
print(list(dict1.values())[0])
# 从其他字典中加入现有字典
newDict = {'age': 19}
newTuple = [('isMarried', True), ('isMale', False)]
dict1.update(newDict)
dict1.update(newTuple)
print(dict1)
# 删除对应键值对,并返回
dict1.pop('isMale')
print(dict1)
# 删除对应键值对,并返回
kvTuple1 = dict1.popitem()
print(kvTuple1)
print(dict1)
- 字典的方法众多,其中对对象的键和值操作较为常用
- update方法常用于对字典的扩充
- 需要注意的是keys、values、items都返回视图对象
集合
parame = {value01,value02,...}
或者
set(value)
集合(set)是一个无序的不重复元素序列。
集合中的元素不会重复,并且可以进行交集、并集、差集等常见的集合操作。
我们可以通过一个例子来展示其特殊的用途:
# 一个简单的应用,在一串字符串中剔除特定字符,并获取特异字符
set2 = {x for x in 'sdhnfkjabjfbasdkjhf' if x not in 'abcd'}
print(set2)
集合的常用方法
# 添加元素
set1.add(6)
print(set1)
# 添加多个元素
set1.update((1, 7, 8))
print(set1)
# 删除元素,元素不存在,则会发生错误
set1.remove(1)
print(set1)
# 删除多个元素,元素不存在,不会错误
set1.discard(1)
print(set1)
# 删除任意元素
print(set1.pop())
print(set1)
# 计算个数
print(len(set1))
set2 = {1, 2, 3, 1, 2, 3, 5}
# 差集
print(set1.difference(set2))
# 交集
print(set1.intersection(set2))
# 并集
print(set1.union(set2))
# 对称差
print(set1.symmetric_difference(set2))
# 对称差合并
set1.symmetric_difference_update(set2)
print(set1)
- 上面包含了大部分常用方法,更多方法可查阅官方文档
- 集合更多用于多个集合的处理比较中
更多方法可见: