Python列表(List)部分
创建列表,通过【】来创建列表,【】里面包含的则是列表存储数据,即元素。
列表中可以保存任意的对象
test_list1 = [10, '字符串', True, None, [1, 2, 3], print]
列表切片
从现有的列表中,获取一个子列表,通过切片来获取指定的元素
注意:列表索引是从0开始的,即列表第一个值得索引就是0
切片大致分为两种,语法如下
语法一:列表名【起始:结束】,索引起点默认从0开始
test_list2 = [1, 2, 3, 4, 5, 6]
print(test_list2[:2])
print(test_list2[1:5])
语法二:列表名【起始:结束:步长】
步长,表示每次获取元素的间隔,默认为1。步长可以为负数,但是不能为0。
test_list2 = [1, 2, 3, 4, 5, 6]
# 步长不能是0,但是可以是负数
print(test_list2[0:6:2])
# 如果是负数,则会从列表的后部向前边取元素,如
test_list2 = [6, 2, 4, 3, 2, 2, 1]
print(test_list2[::-1])
常用部分:
新建列表common_list
common_list = [0, 1, 2, 2, 6, 7, 7, 10]
len()函数,可以获取列表长度
print(len(common_list))
index()获取指定元素在列表中的第一次出现时的索引,同时也可以拼接上面的语法二:index(查找的参数,查找的起始位置,查找结束的位置)
print(common_list.index(2))
print(common_list.index(2, 1, 8))
count()用于统计指定元素在列表中出现的次数
print(common_list.count(2))
in和not in的使用,是用来判断元素是否存在于列表中,输出的结果只有True/False。
print(1 in common_list)
print(8 in common_list)
列表也可以拼接,+ 和 *
test_list = [1, 2, 3] * 3
print(test_list)
test_list = [1, 2, 3] + [4, 5, 6]
print(test_list)
列表的添加
insert() 向列表的指定位置插入一个元素
test_list = ['好', '很好', '非常好', '非非非常好', 'nice']
test_list.insert(2, '非非常好')
print(test_list)
列表修改
可直接通过索引修改
test_list = ['好', '很好', '非常好', '非非非常好', 'nice']
test_list[3] = 'very good'
print(test_list)
列表删除
通过索引调用del函数即可
test_list = ['好', '很好', '非常好', '非非非常好', 'nice']
del test_list[1]
print(test_list)
列表的方法
新建列表list_method
list_method = ['one', 'one', 'tow', 'three', 'four', 'five']
append(),向列表的最后添加一个元素
list_method.append('five')
print(list_method)
extend(),使用新的序列来扩展当前序列,即在列表最后进行新增
list_method.extend(['six', 'seven'])
print(list_method)
pop(),根据索引删除并返回被删除的元素
result = list_method.pop(1) # 删除索引为1的元素
print(list_method)
result = list_method.pop() # 删除索最后一个
print(list_method)
remove(),删除指定的元素,如果有多个相同的元素,只会删除第一个
list_method.remove('one')
print(list_method)
reverse(),用来反转列表
list_method.reverse()
print(list_method)
clear()清空列表
list_method.clear()
sort(),用来对列表中的元素进行排序,升序
list_sort = ['1', '2', '2', '3', '6', '4']
list_sort.sort()
print(list_sort)
如果要变成降序,则需要传递一个reverse=True作为参数
list_sort.sort(reverse=True)
print(list_sort)
遍历列表
list_traverse = ['策划', '客服', 'NPC', '玩家']
i = 0
while i < len(list_traverse):
print(list_traverse[i])
i += 1
for i in list_traverse:
print(i)
简单基础的EMS管理系统
print('-'*20, '欢迎使用课程管理系统', '-'*20)
message_list = ['C#编程\t平平无奇\t20节', 'Python\t吉吉国王\t10节']
while True:
print('请选择:')
print('\t1.查询课程信息')
print('\t2.添加课程信息')
print('\t3.删除课程信息')
print('\t4.退出系统')
user_choose = input('请选择[1-4]:')
print('-'*88)
if user_choose == '1' or user_choose == '查询课程信息':
print('序号\t课程名称\t任课导师\t课时')
n = 1 # 生成一个变量用来表示序号
for meg in message_list:
print(f'\t{n}\t{meg}')
n += 1
elif user_choose == '2' or user_choose == '添加课程信息':
meg_name = input('请输入课程名称:')
meg_teachers = input('请输入授课导师:')
meg_time = input('请输入课时:')
meg = f'{meg_name}\t{meg_teachers}\t{meg_time}'
print('以下课程信息将被添加到系统中')
print('-' * 88)
print('课程名称\t授课导师\t课时')
print(meg)
print('-' * 88)
user_confirm = input('是否确认该操作[Y/N]:')
if user_confirm == 'Y' or user_confirm == 'Yes':
# 确认
message_list.append(meg)
# 显示提示信息
print('添加成功!')
else:
# 取消操作
print('添加已取消!')
elif user_choose == '3':
del_num = int(input('请输入要删除的课程序号'))
if 0 < del_num <= len(message_list):
del_i = del_num - 1
print('以下课程将被删除')
print('-' * 88)
print('序号\t课程名称\t授课导师\t课时')
print(f'{del_num}\t{message_list[del_i]}')
print('-' * 88)
user_confirm = input('是否确认[Y/N]?(注意:此操作不可恢复,请慎重操作)')
if user_confirm == 'Y' or user_confirm == 'Yes':
message_list.pop(del_i)
print('该课程已被删除!')
else:
print('操作已取消!')
else:
print('您的输入有误,请重新操作!')
elif user_choose == '4':
print('欢迎您再次使用本系统!再见')
input('(点击回车建退出)')
break
else:
print('您的输入有误,请重新选择!')
print('-' * 88)
本章内容均为学习记录。