列表
描述
列表是Python中的一种数据结构,它可以存储不同类型的数据
[数据1,数据2,……]
列表的循环遍历
1、for循环遍历
name_list = ['小明', '小王', '小张']
for i in name_list:
print(i)
2、while循环遍历
name_list = ['小明', '小王', '小张']
length = len(name_list)
i = 0
while i < length:
print(name_list[i])
i += 1
在列表中添加元素
1、通过append向列表中添加元素
append方法向列表添加的元素位于列表的末尾
2、通过extend向列表添加元素
使用extend方法可以将一个列表中的元素全部添加到另一个列表中,添加的元素位于列表的末尾
list_one = [1, 2]
list_two = [3, 4]
list_one.append(list_two)
print(list_one)
list_one.extend(list_two)
print(list_one)
3、通过insert向列表中添加元素:list.insert(index,object)
使用insert可以在列表的指定位置添加元素
list_one = [1, 5]
list_two = [2, 3, 4]
list_one.insert(1, list_two)
print(list_one) # 结果: [1, [2, 3, 4], 5]
在列表中查找元素
in:元素存在于列表中,返回true,否则返回false
not in :元素不存在于列表中,返回true,否则返回false
在列表中修改元素
list = ['a', 'b', 'C', 'd']
print("修改前:%s" % list)
list[2] = 'c'
print("修改后:%s" % list)
在列表中删除元素
- del:根据下标进行删除
- pop:删除最后一个元素
- remove:根据元素的值进行删除
move_name = ['加勒比海盗', '指环王', '变形金刚', '蜘蛛侠', '复仇者联盟']
print("删除前:%s" % move_name)
del(move_name[1]) # 根据下标删除
print("根据下标删除:%s" % move_name)
move_name.pop() # 删除最后一个元素
print("删除最后一个元素:%s" % move_name)
move_name.remove("变形金刚") # 根据指定元素的值删除
print("根据指定元素的值删除:%s" % move_name)
列表的排序
sort:将列表中的元素按照特定的顺序重新排列,默认由小到大。如果要将列表中的数据由大到小,则可以将sort方法中reverse参数设置为true
reverse:将列表逆置
list.reverse() # 逆置
print(list) # [2, 3, 4, 1]
list.sort() # 从小到大
print(list) # [1, 2, 3, 4]
list.sort(reverse=True) # 从大到小
print(list) # [4, 3, 2, 1]
列表的嵌套
列表嵌套指的是一个列表的元素又是一个列表
list = [1, 4, 3, 2]
school_name = [['北京大学', '清华大学'], '南开大学', ['山东大学', ['吉林大学']]]
列表元素的初始化
例:一维数组初始化
r=[0 for i in range(5) ]
print(r) # [0, 0, 0, 0, 0]
例:二维数组初始化
r = [['a' for i in range(2)] for i in range(3)]
print(r) # [['a', 'a'], ['a', 'a'], ['a', 'a']]
元组
描述
元组与列表类似,不同之处在于元组中的元素不能修改,元组使用圆括号包含元素,而列表使用方括号包含元素。
访问元组
可以使用下标来访问元组中的元素,下标从0开始
修改元组
元组中的元素值是不允许修改或删除元组中的元素,但我们可以对元组进行组合
tuple_one = (12, 34, 56)
tuple_two = ('abc', 'def')
tuple_three = tuple_one+tuple_two
print(tuple_three) # 结果:(12, 34, 56, 'abc', 'def')
元组的遍历
tuple = (1, 2, 3, 4, 5)
for i in tuple:
print(i, end=' ')
元组内置函数
方法 | 描述 |
---|---|
len(tuple) | 计算元组中元素个数 |
max(tuple) | 返回元组中的最大值 |
min(tuple) | 返回元组中的最小值 |
tuple(seq) | 将列表转换为元组 |
字典
描述
字典是一种存储数据的容器,它和列表一样可以存储多个数据。不同的是,列表在查找元素时,是根据下标来进行的,而字典在查找某个元素时,是通过键来查找的
根据键访问值
info = {'name': '小明', 'age': 15, 'sex': '男'}
print(info['name'])
如果我们想获取某个键对应的值,但是又不确定字典中是否有这个值,这时可以通过get方法进行获取。get方法用于返回指定键的值,如果访问的键不在字典中,则会返回默认值
info = {'name': '小明', 'age': 15, 'sex': '男'}
address = info.get('address', '中国')
print(address) # address不存在,返回中国
添加字典元素
当使用“字典变量名[键]=值”修改字典时,若字典中不存在这个键,则会在字典中新增一个键值对
删除字典元素
可以使用del语句或clear方法实现。其中,del语句用于删除整个字典或者字典中的某个元素,而clear方法用于清空字典中的元素
info = {'name': '小明', 'age': 15, 'sex': '男'}
print("删除前:%s" % info) # 删除前:{'name': '小明', 'age': 15, 'sex': '男'}
del info['name']
print("del删除指定元素后:%s" % info) # del删除指定元素后:{'age': 15, 'sex': '男'}
info.clear()
print("clear清空后:%s" % info) # clear清空后:{}
计算字典中键值对的个数
len方法可以计算字典中键值对的个数
info = {'name': '小明', 'age': 15, 'sex': '男'}
print(len(info)) # 3
获取字典的键视图
keys()方法可以获取字典的键视图,该视图会实时的反应 出字典中键的变化
info = {'name': '小明', 'age': 15, 'sex': '男'}
print(info.keys()) # dict_keys(['name', 'age', 'sex'])
获取字典的值视图
values()方法可以获取字典的值视图,该视图会实时地反映出字典中值的变化
info = {'name': '小明', 'age': 15, 'sex': '男'}
print(info.values()) # dict_values(['小明', 15, '男'])
获取字典的元素视图
items()方法可以获取字典的元素视图,该视图会实时的反映出字典中键值对的变化
info = {'name': '小明', 'age': 15, 'sex': '男'}
print(info.items()) # dict_items([('name', '小明'), ('age', 15), ('sex', '男')])
字典的遍历
info = {'name': '小明', 'age': 15, 'sex': '男'}
# 遍历字典中的键
for key in info.keys():
print("键:%s" % key)
# 遍历字典的值
for values in info.values():
print("值:%s" % values)
# 遍历字典中的元素
for item in info.items():
print(item)
# 遍历字典中的键值对
for key, value in info.items():
print("key=%s,value=%s" % (key, value))
相加操作
最近看了一个段代码才知道列表可以直接相加,以前还真没想过有这种操作
列表相加
a=[1,2,3]
b=[4,5,6]
print(a+b) # [1, 2, 3, 4, 5, 6]
元组相加
a=(1,2,3)
b=(4,5,6)
print(a+b) # (1, 2, 3, 4, 5, 6)
字典没有该操作