列表的索引操作
数据结构 -->列表 增、删、改、查
列表
name = ['q', 'w', 'e', 'r']
# 截取
print(name[1: 3]) # 取下标1到3的元素(含下标1的元素,但是不包含3的)
['666', 'none']
print(name[1:-1]) # 也是取下标1到-1(即下标3)的元素(含下标1的元素,但是不包含-1的) ['666', 'none']
print(name[0:3]) # 取下标0到3的元素(含下标1的元素,但是不包含3的)
['kzx', '666', 'none']
print(name[:3]) # 也是取下标0到3的元素
['kzx', '666', 'none']
print(name[1:]) # 取除下标0外所有的元素 ['666', 'none', 'truth'] print(name[1: 4]) # 当下标大于该列表的最大下标时,等价于name[start,max] # (start即开始取的下标,max即该列表最大的下标) ['666', 'none', 'truth']
# 添加
name.append("new") # 从最后添加 name.insert(2, "插入") print(name) ['kzx', '666', '插入', 'none', 'truth', 'new']
# 修改
name[2] = "change" print(name) ['kzx', '666', 'change', 'none', 'truth', 'new']
# 删除
name.pop del name[2] # 删除列表下标为2的元素 name.remove("kzx") # 指定删除元素 print(name) ['666', 'none', 'truth', 'new'] name.pop() # 删除列表最后一个值
# 合并2个列表 b = [1, 2, 3] name.extend(b) print(name) ['666', 'none', 'truth', 1, 2, 3]
# copy copy_name = name.copy() print(copy_name) ['666', 'none', 'truth', 1, 2, 3]
# 统计元素出现次数 names = ['kkk', 'rr', 'kkk', 'e', 'rr', 1, 2, 3] print(names.count("kkk"))
# 排序 c = [1, 2, 3] c.sort() print(c) # python3里不同数据类型不能放在一起排序 [1, 2, 3]
c.reverse() print(c) # 反转
[3, 2, 1]
# 获取下标 print(names.index("kkk")) # 只返回找到的第一个下标 0
例子:创建两个列表 一个存姓名 一个村手机号
要求:
1.增加姓名和手机
2.删除姓名
3.修改手机
4.查询账户
5.根据姓名查找手机号
6.退出
代码如下:
names=['张三','李四 '] phones=['13938493783','166666666'] print('***********************') while(True): print('=======通讯录管理系统======= ') print('1.增加姓名和手机') print('2.删除姓名') print('3.修改手机') print('4.查询所有用户') print('5.根据姓名查找手机号') print('6.退出') print('============================') i=int(input('请选择:')) if(i==1): name=input('请输入姓名:') phone=input('请输入电话:') while phone in phones: phone=input('电话已存在,重新输入电话:') names.append(name) phones.append(phone) print('录入成功') elif i==2: name = input('请输入姓名:') if name in names: index=names.index(name) # names.pop(index) # phones.pop(index) del names[index] del phones[index] print('删除成功') else: print('名字不存在') elif i==4: for i in range(names.__len__()): print(names[i],phones[i]) print('输出完毕') elif i==3: phone = input('请输入电话:') if phone in phones: new_phone = input('请输入新的电话:') while new_phone in phones: new_phone = input('新的电话已存在,重新输入电话:') index=phones.index(phone) phones[index]=new_phone print('更新成功') else: print('电话不存在') elif i == 5: name = input('请输入姓名:') if name in names: index = names.index(name) print('电话:',phones[index]) else: print('名字不存在') elif i == 6: print('谢谢使用') break