python列表查询、list函数、元组

查:list.index()返回查找到的坐标

  • print(list1.index(5));
    in和not in可以查找某个元素是否存在列表内,返回布尔类型
    print(1 in list1);
    print(1 not in list1);
  • 嵌套列表
  • list3=[['张飞','刘备','关羽'],['zhangfei','liubei','guanyu']];
    print(list3[0]);#读取嵌套列表内的数据,用过下标提取
    print(list3[1]);
    print(list3[1][1]);

list函数

  • #len(list) 列表元素的个数
    print(len(list3));#读取列表长度
    for i in range(len(list2)):#遍历列表长度,返回下标
        print(i);
    for i in range(len(list2)):  # 遍历列表长度,返回列表内的数据
        print(list2[i]);
  • 列表中最大值,最小值list1.max(),list1.min()
  • print(max(list2));
    print(min(list2));
    print(max(['a','B','c']))#返回c
    print(max(['aac','aab','abc','aca']))#第一位比较完,比较第二位大小
  • list(seq)将元组转换成列表
  • print(('1','3','33','ffe'))
    print(list(('1','3','33','ffe')))
  • everse()反向列表中的元素
  • list1=['a','b','c','d','e']
    list1.reverse()#返回列表的倒叙
    print(list1)
  • sort([func])排序,默认升序
  • list2=[5,3,6,2,8]
    list2.sort()#返回从小到大排序
    print(list2)
  • clear()请空列表
  • list3=['1','2','3','4']
    list3.clear()#返回空列表
    print(list3)
  • copy()复制列表,在内存中又开辟了一个空间;通过等号复制副本,在内存中指向原来的地址
  • list1=['a','b','c','d','e'];
    list2=[5,3,6,2,8];
    list2=list1.copy();
    print(list2)
  • eval()将元组、字典、列表类型的字符串转为元组、字典、列表,可以把list,tuple,dict和string相互转化
  • a="[[1,2], [3,4], [5,6]]";#字符串转换成列表
    m=eval(a);
    print(type(m));
    print(m);
  • a="{'a':'A','b':'B'}";#字符串转换成字典
    m=eval(a);
    print(type(m));
    print(m);
  • a="('a','b','c')";#字符串转换成元组
    m=eval(a)
    print(type(m));
    print(m);

小练习

  • 定义一个列表,让用户动态输入5个值,遍历输出列表的值
  • nums=[]
    for i in range(5):
        nums.append(input('请输入:'))
    else:
        print('输入完毕!')
    print(nums);

元组

  • 元组与列表类似,但是元组的元素不能修改
  • c=(2,3,3,'tom','OK',False)
    d=('张飞','刘备')
    c=c+d;
    print( c[:].index('张飞'))#访问,使用切片
    print(c[:4])
    print(c[::-1])
    a=(1,2);
    b=(3,4);
    c=a+b#运算符 + * in not in
    print(c);
    
    d=a*2
    print(d)
  • 通讯录管理系统

  • print("=======通讯录管理系统=======")
    print("1.增加姓名和手机")
    print("2.删除姓名")
    print("3.修改手机")
    print("4.查询所有用户")
    print("5.根据姓名查找手机号")
    print("6.退出")
    print("============================")
    name_list=[]
    phone_list=[]
    while True:
        input_val=int(input('请输入操作项:'))
        if input_val in range(1,7):
            if input_val==1:
                name_list.append(input('请输入姓名:'))
                phone_list.append(input('请输入电话:'))
                print('姓名和电话:',name_list,phone_list)
                sign=input('是否继续:y/n')
                if sign=='n':
                    break
                else:
                    continue
            elif input_val==2:
                print(name_list)
                sign=input('是否删除姓名:y/n')
                if sign=='y':
                    del name_list[:]
                    print('已删除!')
                    sign=input("是否退出y/n")
                    if sign=='y':
                        break
                    else:
                        continue
                else:
                    print('未进行删除!')
            elif input_val==3:
                phone=(input('请输入需要修改的手机:'))
                if phone not in phone_list:
                    print('请重新输入电话!')
                else:
                    phone_list[(phone_list).index(phone)]=(input('请输入修改后的手机:'))
                    print('已成功修改手机!')
                sign = input("是否退出y / n")
                if sign == 'y':
                    break
                else:
                    continue
            elif input_val==4:
                print('所有用户:',name_list[:])
            elif input_val==5:
                names_reac=input('请输入姓名:')
                if names_reac in name_list[:]:
                    print(names_reac,'的手机为',phone_list[name_list.index(names_reac)])
                    sign=input('是否继续y/n')
                    if sign=='n':
                        break
                    else:
                        continue
                else:
                    print('未查询到该人!')
            else:
                break
        else:
            print("输入有误!")
    print("谢谢使用!")

转载于:https://my.oschina.net/u/3764483/blog/1609280

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值