方法
序号 | 方法 | 描述 |
---|---|---|
1 | list.append(obj) | 在列表末尾添加新的对象 |
2 | list.count(obj) | 统计某个元素在列表中出现的次数 |
3 | list.extend(seq) | 在列表末尾一次性追加另一个序列的多个值(用新列表扩展原来的列表) |
4 | list.index(obj) | 从列表中找出某个值第一个匹配项的索引位置 |
5 | list.insert(index, obj) | 将对象插入列表,index为需要插入的索引位置,obj为要插入的对象 |
6 | list.pop([index=-1]) | 移除列表中的一个元素(默认为最后一个元素),并且返回该元素的值 |
7 | list.remove(obj) | 移除列表中某个值的第一个匹配项 |
8 | list.reverse() | 反向列表中的元素 |
9 | list.sort(cmp=None, key=None, reverse=False) | 对原列表进行排序 |
10 | list.clear() | 清空列表 |
11 | list.copy() | 复制列表 |
函数
序号 | 函数 | 描述 |
---|---|---|
1 | len(list) | 列表元素个数 |
2 | max(list) | 返回列表元素最大值 |
3 | min(list) | 返回列表元素最小值 |
4 | list(seq) | 将元组转换为列表 |
元组(tuple)
tuple一旦初始化就不能修改。改、增、删相关操作不能作用于元祖。
创建空元组。
tuple1 = ()
print(type(tuple1))
Output:
<class 'tuple'>
查(和列表的查一模一样,没有任何区别)。
colors = ('red', 'green', 'yellow', 'purple')
print(colors[1])
print(colors[0:3])
print(colors[0::2])
for item in colors:
print(item)
names = ('Alice', 'Bob', 'Bill')
x , y, z = names # 通过多个变量分别获取元组的元素(变量个数和元组元素个数一样)
print(x,y,z)
Output:
Alice Bob Bill
names = ['张家辉', '古天乐', '陈小春', '谢霆锋', '李健']
first, *midel, last = names # 通过变量名前加*号可以把变量变成列表,获取多个元素
print(first, last)
print(first, midel, last)
Output:
张家辉 李健
张家辉 ['古天乐', '陈小春', '谢霆锋'] 李健
字典(dict)
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:
d = {key1 : value1, key2 : value2 }
键必须是唯一的,但值则不必。
值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
创建一个空的字典:
dict1 = {}
print(type(dict1))
Output:
<class 'dict'>
将其他数据类型转换成字典
dict3 = dict([(1, 2), (2, 3)]) # 了解
print(dict3)
# 获取元素
person = {'name': 'Cook',
'age': 44,
'gender': 'Female'
}
print(person['name'],person['age'])
# 如果key不存在,会报KeyError
print(person.get('name'))
print(person.get('desc'))# 如果不存在,返回None
"""注意:如果key值确定存在。使用[]语法去取值。不确定key值是否存在才使用get方法去获取值"""
# 增加/修改元素
person['height'] = 1.8
print(person)
person['age'] = 18
print(person)
# 删除元素
del person['height']
print(person)
age = person.pop('age') # 会返回被删除的键值对对应的值
print(age, person)
字典.keys():获取字典所有的key,返回值的类型是dict_keys,但是可以把它当成列表来使用
字典.values():获取字典所有的值(value)
字典.items(): 将字典中所有的键值对转换成一个一个的元祖,key作为元祖的第一个元素,value作为元祖的第二个元素
student_dict = {
'name': '张三',
'study_id': 'py1805001',
'score': {
'english': 60,
'math': 100
}
}
keys = student_dict.keys() # 获取字典的所有key,返回值的类型是dict_keys,但是可以把他当成列表来使用
for key in keys:
print(key)
print(student_dict.values()) # 获取字典所有的在(value)
print(student_dict.items()) # 将字典中所有的键值对转换成一个一个的元组,key作为元组的第一个元素,value作为元组的第二个元素
for key in student_dict: # 直接遍历字典获取到的是所有的key(推荐使用)
print(key, student_dict[key])
for k, v in student_dict.items(): # 遍历直接获取到key和value(不推荐使用:更消耗cpu)
print(k, v)
字典其他操作
1.fromkeys()
dict.fromkeys(序列, value):创建一个新的字典,序列中的元素作为key,value作为值
2.in
key in 字典: 判断字典中是否存在指定的key
3.update
字典1.update(字典2): 使用字典2的键值对去更新字典1中的键值对。如果字典2中对应键值对在字典1中不存在,就添加。存在就更新
集合
集合(set)也是一种容器类型的数据类型(序列);数据放在{}中,多个之间只用逗号隔开:{1, 2, 'a'}
集合是无序的(不能通过索引取取值), 可变(可以增删改), 元素不能重复
集合可以进行数学中集合相关的操作:判断是否包含,求交集、并集、差集、补集
# 集合 {} 无序
set1 = {1, 2, 2, 3}
print(set1)
# 增删改查
# 查:遍历
set2 = {'Apple', 'Blueberry', 'pear', 'banana', 'watermolen'}
for item in set2:
print(item)
# 增:
# 1. set.add(obj) 将元素obj添加到集合中
set3 ={1, 2, 4}
set3.add(6)
set3.add(3)
print(set3)
# 2. set1.update(set2) 将集合2中的元素添加到集合1中,自动去重
set1.update(set2)
print(set1)
# 删: set.remove(obj) 删除指定的元素
# set.pop() 随机删除一个
# 判断是否包含
"""
set1 >= set2 :判断set1是否包含set2
# 交、并、补 |、&、-
"""
print({1,2,3}&{1,3,6})
print({1,2,3}|{1,3,6})
print({1,2,3}-{1,3,6})
print({1,2,3}^{1,3,6})
# 清空集合
set1.clear()
Output:
{1, 2, 3}
Blueberry
banana
Apple
pear
watermolen
{1, 2, 3, 4, 6}
{'Blueberry', 1, 2, 3, 'banana', 'Apple', 'pear', 'watermolen'}
{1, 3}
{1, 2, 3, 6}
{2}
{2, 6}