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
谢谢使用