一、列表
1、列表的创建:
列表需要中括号[],元素之间使用英文的逗号进行分隔
列表的两种创建方式:
- 使用中括号
- 使用内置函数list()
2、列表的特点
3、列表的查询
-
获取列表中指定元素的索引
-
获取列表中的单个元素
索引:
- 正向索引:从0到N-1
- 逆向索引:-N到-1
-
获取列表中的多个元素
语法格式:
列表名[start:stop:step]
-
判断指定元素在列表中是否存在
-
列表元素的遍历
4、列表的增加操作
# 向列表的末尾添加一个元素
lst = [10, 20, 30]
print('添加元素之前:', lst, id(lst))
lst.append(100) # id不变,在列表后面添加一个元素
print('添加元素之后:', lst, id(lst))
lst2 = ['hello', 'word']
'''lst.append(lst2) # 将lst2作为一个元素添加到列表尾部
print(lst)'''
# 想列表的末尾一次性添加多个元素
lst.extend(lst2)
print(lst)
# 在任意位置上添加一个元素
lst.insert(1, 80)
print(lst)
# 在任意位置上添加多个元素
lst3 = ['hh', 'ww', 'ss']
lst[1:] = lst3
print(lst)
运行结果:
5、列表元素的删除操作
# 列表元素的删除操作
lst = [10, 20, 30, 40, 50, 60, 30]
lst.remove(30) # 从列表中删除一个元素,如果有重复的元素只移除第一个元素
print(lst)
# lst.remove(100) # 如果删除元素不纯在,则抛出异常
# pop()根据索引移除元素
lst.pop(1)
print(lst)
# lst.pop(5) # 如果指定的索引位置不纯在,则抛出异常
lst.pop() # 如果不指定参数(索引),则删除列表中的最后一个元素
print(lst)
print('----切片操作,删除至少一个元素,将产生新的列表----')
new_lst = lst[1:3]
print('原列表:', lst)
print('切片后的新列表:', new_lst)
'''不产生新列表,而是删除列表中的元素'''
lst[1:3] = []
print(lst)
# 清除列表中的所有元素
lst.clear()
print(lst)
# del语句将列表对象删除
del lst
# print(lst) # NameError: name 'lst' is not defined. Did you mean: 'list'?
6、列表元素的修改操作
lst = [10, 20, 30, 40]
# 一次修改一个值
lst[2] = 100
print(lst) # [10, 20, 100, 40]
lst[1:3] = [50, 80, 60]
print(lst) # [10, 50, 80, 60, 40]
7、列表元素的排序操作
lst = [10, 88, 56, 30, 1]
lst.sort() # 默认排序方式为升序
print(lst)
lst.sort(reverse=True) # reverse=True表示降序排序
print(lst)
print('-------使用内置函数进行排序,将产生新的列表对象-------')
lst = [10, 88, 56, 30, 1]
print('原列表,', lst)
new_lst = sorted(lst)
print(lst)
print(new_lst)
# 指定关键字参数,使列表降序排序
desc_lst = sorted(lst, reverse=True)
print(desc_lst)
8、列表生成式
lst = [i for i in range(1, 10)]
print(lst)
lst2 = [i*i for i in range(1, 10)]
print(lst2)
# 列表中的元素值为:2,4,6,8,10
lst3 = [i*2 for i in range(1,6)]
print(lst3)
运行结果:
二、字典
1、字典的创建方式
# 使用{}创建方式
scores = {'张三': 100, '李四': 50, '五五': 88}
print(scores)
# 使用dict()创建方式
student = dict(name='jack', age=15)
print(student)
# 空字典
a = {}
print(a)
运行结果:
2、获取字典中的元素
# 获取字典
scores = {'张三': 100, '李四': 50, '五五': 88}
# 第一种方式::使用[]
print(scores['张三'])
# print(scores['陈六']) # KeyError: '陈六'
# 第二种方式:使用get()方法
print(scores.get('张三'))
print(scores.get('陈六')) # None
print(scores.get('麻七', 99)) # 99是在查找'麻七'所对应的value不存在时,提供的一个默认值
运行结果:
3、key的判断、增、删、改元素
# key的判断
scores = {'张三': 100, '李四': 50, '五五': 88}
print('张三' in scores) # True
print('张三' not in scores) # False
del scores['张三'] # 删除指定的key-value对
# scores.clear() # 清空字典的元素
print(scores)
scores['陈六'] = 98 # 新增元素
print(scores)
scores['陈六'] = 100 # 修改元素
print(scores)
运行结果:
4、获取字典视图的三种方式:
# 获取字典视图;三种方式
scores = {'张三': 100, '李四': 50, '五五': 88}
# 获取所有的key(键)
keys = scores.keys()
print(keys)
print(type(keys))
print(list(keys)) # 将所有的key组成的视图转换成列表
# 获取所有的value(值)
values = scores.values()
print(values)
print(type(values))
print(list(values))
# 获取所有key-value对
items = scores.items()
print(items)
print(list(items)) # 转换之后的列表是由元组组成
运行结果:
5、字典元素的遍历:
# 字典元素的遍历
scores = {'张三': 100, '李四': 50, '五五': 88}
for item in scores:
print(item, scores[item]) # 获取键和值
''' print(item) # 输出字典中的键'''
6、字典的特点
7、字典的生成
# 字典的生成
a = ['Fruits', 'Books', 'Others']
b = [96, 78, 85]
# d = {a: b for a, b in zip(a, b)} # {'Fruits': 96, 'Books': 78, 'Others': 85}
d = {a.upper(): b for a, b in zip(a, b)} # upper()让键为大写
print(d) # {'FRUITS': 96, 'BOOKS': 78, 'OTHERS': 85}