python 列表

序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

Python有6个序列的内置类型,但最常见的是列表和元组。

序列都可以进行的操作包括索引,切片,加,乘,检查成员。

此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。

列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。

列表的数据项不需要具有相同的类型

创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:

 

与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。

访问列表中的值

使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符,如下所示:



列表的增、删、改、查

序号方法
1list.append(obj)
在列表末尾添加新的对象
2list.count(obj)
统计某个元素在列表中出现的次数
3list.extend(seq)
在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
4list.index(obj)
从列表中找出某个值第一个匹配项的索引位置
5list.insert(index, obj)
将对象插入列表
6list.pop([index=-1]])
移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
7list.remove(obj)
移除列表中某个值的第一个匹配项
8list.reverse()
反向列表中元素
9list.sort(cmp=None, key=None, reverse=False)
对原列表进行排序
10list.clear()
清空列表
11list.copy()
复制列表

举例:

增加

两个列表可以进行相加

运行结果是:

 

两个列表相加

运行结果是:

插入   

如果超出了元素个数,则直接在尾部追加,如果没超出,则在指定位置增加

运行结果是:

两个序列值合并

此操作其实就是extend对for in 进行了一个封装

运行结果是:

删除 

方法有三种,del和pop和remove

del是整个列表都删除,或者利用切片删除区间

pop是删除某一个下标。

remove是删除重复项,只删除第一个匹配项

举例1:

运行结果是抛异常,因为已经被删除

举例2:

运行结果是删除下标为2以后的值

举例3:

运行结果是删除下标为2的值

举例4:

运行结果是只删除了第一个匹配的重复值

查找

index是返回查找的下标,不存在则抛异常  

find也是返回查找的下标,不存在则返回-1

举例1:

运行结果是:即使有2个3,也是默认最近的值坐标

Python列表函数&方法

Python包含以下函数:

序号函数
1len(list)
列表元素个数
2max(list)
返回列表元素最大值
3min(list)
返回列表元素最小值
4list(seq)
将元组转换为列表

dir是将一个数据类型的所有函数和属性输出

举例1:

运行结果是

__len__()类型的__类型的函数代表私有函数,只有这个类自己可以访问,一般不调用。

len()是全局调用,是外部调用,两者打印效果都是一样的。

 

sort 按照ASCII码大小默认排序。也可以自己定义排序规则。

定义排序规则方法:

举例1:

运行结果是

reverse 反向列表中的元素

运行结果是

清空 clear

运行结果是

复制 copy

 

管理通讯系统

# 通讯录管理系统
# 1.增加姓名和手机号
# 2.删除姓名
# 3.修改手机
# 4.查询所有用户
# 5.根据姓名查找手机号
# 6.退出
names=['张三']
phones=['123']
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)
            print('删除成功')
        else:
            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==4:
        for i in range(names.__len__()):
            print(names[i],phones[i])
            print('输出完毕')
    elif i==5:
        name=input('请输入姓名:')
        if name in names:
            index = names.index(name)
            print('电话:',phones[index])
        else:
            print('名字不存在')
    elif i==6:
        print('谢谢使用')
        break

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值