python第四课(列表)

1,列表的数据项不需要具有相同的类形

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

list1=['Google','tom',1,2,3]
print(list1[0],list1[3])

执行结果:

Google 2

-

列表也可以使用切片:原来字符串的切片也可以在这里使用

list1=['Google','tom',1,2,3]
print(list1[0],list1[3])
print(list1[1:4])
print(list1[-1::-1])

执行结果:

Google 2
['tom', 1, 2]
[3, 2, 1, 'tom', 'Google']
#从头开始,不包含最后一位
-

2,列表的增、删、改、查(insert,delet,update,query)

list.insert(4,2001)  新增 增加到哪去

list.append('hellow')  默认增加到最后

li1=['tom','小白',1,2,3]
li1.insert(2,'小黑')  #长度大于lenth 默认追加最后一位
print(li1)
li1.append('小黑')
print(li1)

执行结果

['tom', '小白', '小黑', 1, 2, 3]
['tom', '小白', '小黑', 1, 2, 3, '小黑']

-

两个列表之间还可以进行相加

两个列表之间还可以进行相乘  list*3

li1=['小黄','小白','小黑']
li2=[1,2,3,4]
li3=li1+li2
print(li3)
print(li1*3)

执行结果:

['小黄', '小白', '小黑', 1, 2, 3, 4]
['小黄', '小白', '小黑', '小黄', '小白', '小黑', '小黄', '小白', '小黑']

-

li1=['小黄','小白','小黑']
li2=[1,2,3,4]
li1.append(li2)
print(li1)

执行结果:

['小黄', '小白', '小黑', [1, 2, 3, 4]]

-

li1=['小黄','小白','小黑']
li2=[1,2,3,4]
for i in li2:
    li1.append(i)
print(li1)

执行结果:

['小黄', '小白', '小黑', 1, 2, 3, 4]

-

列表1.extend(列表2),是把列表2迭代后遍历循环追加到列表1,extend()没有返回值

li1=['小黄','小白','小黑']
li2=[1,2,3,4]
li1.extend(li2)
print(li1)

执行结果:

['小黄', '小白', '小黑', 1, 2, 3, 4]

-

li2=[1,2,3,4]
li2[2]=9
print(li2) #超出下标  报错

执行结果:

[1, 2, 9, 4]

-

li2[li2.__len__()-1]

删: del list[2]

list1.pop(int index):把最后一个删除,也可以删除制定下标

list2.remove('')删除括号里的内容,但只能删除一次    删除第一个

查:list.index('')返回查找到的下标 不存在 抛异常

用 in/not in 可以查找是否存在

li=[1,2,3,4,3,3]
del[li[2]]
print(li)

执行结果:

[1, 2, 4, 3, 3]

-

li=[1,2,3,4,3,3]
li.pop(-1)
print(li)

执行结果:

[1, 2, 3, 4, 3]

-

li=[1,2,3,4,3,3]
print(li.index(3)) #同样的输出第一个
print(li.index(3,3,5)) #不包含后一位

执行结果:

2
4

-

li=[1,2,3,4,3,3]
print(3 in li )
print(3 not in li )

执行结果:

True
False

-


li1=[1,2,3]
li2=[4,5,6]
li3=[li1,li2]
print(li3)
#得到4
print(li3[1][0])

执行结果:

[[1, 2, 3], [4, 5, 6]]
4

-


list 函数  dir(object)将一个数据类型的所有函数和属性 输出

__len__()    __类型的函数代表私有 __一般不调用

1,len(list)

列表元素个数

2 ,max(list)字母 已ascii为依据

返回列表元素最大值

3 ,min(list)

返回列表元素最小值

4 ,list(seq)

将元组转化为列表




li=['1,2,3','a','b','c']
print(li.__len__())
print(len(li))
print(max(li))
print(min(li))

执行结果:

4
4
c
1,2,3

-


list()#构造函数-->开辟新空间 初始化数据
print(id(li)) #返回变量 对象的内存地址
new_li=list((1,2,3))
print(new_li)
执行结果:
78664768
[1, 2, 3]

-

5 ,list.append(obj)

在列表末尾添加新的对象

6 ,list.extend(seq)

在列表末尾一次性追加另一个序列中的多个值(用新列表拓展原来的列表)

7 ,list.index(obj)

从列表中找出某一个值第一个匹配项的索引位置 该方法返回查找对象的索引位置,如果没有找到对象,抛异常

li=[1,2,3]
li1=['a,b,c']
li.append(4)
print(li)
li.extend(li1)
print(li)

执行结果:

[1, 2, 3, 4]
[1, 2, 3, 4, 'a,b,c']

-

8,list.insert(index,obj)

将对象插入列表 超出位置 在列表尾部添加

9,list.pop(obj=list[-1])

移除列表中的一个元素(默认最后一个元素),并且返回该元素的值|参数是下标

li=[1,2,3,4]
pop=li.pop()
print(li)
print('删除的部分是:',pop)  #有返回值

执行结果:

[1, 2, 3]
删除的部分是: 4

-

10,list.remove(obj)

移除列表中的某个值的第一个匹配项

11,list.reverse()

反向列表中的元素

li=[1,2,3,4]
li.reverse()
print(li)

执行结果:

[4, 3, 2, 1]
-

12,list.sort([func])

13,   list.clear

li=[1,2,3,4]
li.clear()
print(li)

执行结果:

[]
-

14,   list.copy()

a=[1,2,3]
c=a
c[1]=9
print(a)
print(c)

a=[1,2,3]
c=a[:]
c[1]=9
print(a)
print(c)

执行结果:

[1, 9, 3]
[1, 9, 3]
[1, 2, 3]
[1, 9, 3]
-

names=['小白','小黑']
phones=['123','321']
while True:
    print("=======通讯录管理系统=========")
    print("1.增加姓名和手机")
    print("2.删除姓名")
    print("3.修改手机")
    print("4.查询所有用户")
    print("5.根据姓名查找手机号")
    print("6.退出")
    print("============================")
    i = int(input("请选择:"));
    if i ==1:
        name=input('请输入姓名')
        if name in names:
            s=input('此名字已存在,是否继续录入 y/n')
            print()
            if s=='y':
                name=input('请输入姓名')
                names.append(name)
                phone = input('请输入手机号')
                if phone in phones:
                    print('手机号存在,请重新录入')
                else:
                    phones.append(phone)
            else:break
        else:
            names.append(name)
            phone=input('请输入手机号')
            if phone in phones:
                print('手机号存在,请重新录入')
            else:
                phones.append(phone)
    elif i == 4:
        for j in range(len(names)):
            print(names[j],'的手机号为',phones[j])
    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:
        name=input('请输入要修改哪位机主')
        if name in names:
            phone=input('请输入修改后的手机号')
            index = names.index(name)
            phones.insert(index,phone)
            print('修改成功')
        else:
            print('姓名不在通讯录')
    elif i ==5:
        name = input('要查找的人')
        if name in names:
            index=names.index(name)
            phone=phones[index]
            print(phone)
        else:
            print('姓名不在通讯录')
    if i==6:
        print('谢谢使用')
        break

执行结果:

=======通讯录管理系统=========
1.增加姓名和手机
2.删除姓名
3.修改手机
4.查询所有用户
5.根据姓名查找手机号
6.退出
============================
请选择:1
请输入姓名小白
此名字已存在,是否继续录入 y/ny

请输入姓名小黄
请输入手机号125
=======通讯录管理系统=========
1.增加姓名和手机
2.删除姓名
3.修改手机
4.查询所有用户
5.根据姓名查找手机号
6.退出
============================
请选择:2
请输入姓名小白
删除成功
=======通讯录管理系统=========
1.增加姓名和手机
2.删除姓名
3.修改手机
4.查询所有用户
5.根据姓名查找手机号
6.退出
============================
请选择:3
请输入要修改哪位机主小黄
请输入修改后的手机号987
修改成功
=======通讯录管理系统=========
1.增加姓名和手机
2.删除姓名
3.修改手机
4.查询所有用户
5.根据姓名查找手机号
6.退出
============================
请选择:4
小黑 的手机号为 321
小黄 的手机号为 987
=======通讯录管理系统=========
1.增加姓名和手机
2.删除姓名
3.修改手机
4.查询所有用户
5.根据姓名查找手机号
6.退出
============================
请选择:5
要查找的人小黑
321
=======通讯录管理系统=========
1.增加姓名和手机
2.删除姓名
3.修改手机
4.查询所有用户
5.根据姓名查找手机号
6.退出
============================
请选择:6
谢谢使用

 



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值