15.列表
Python列表像其他语言的数组
#声明
names=['jack','tom','lucky','superman','ironman']
computer_brands=[]
print(id(names))
print(id(computer_brands)) #空列表也分配地址
#元素获取使用:下标 索引
print(names[0])
print(names[1])
print(names[-1])
列表与循环结合
#声明
names=['jack','tom','lucky','superman','ironman']
for i in 'hello':
print(i)
for name in names:
print(name)
查询names里面有没有保存超人
names=['jack','tom','lucky','superman','ironman']
for name in names:
print(name)
if name == 'superman':
print('有超人')
break
else:
print('没有找到超人在里面!')
简便的语句
names=['jack','tom','lucky','superman','ironman']
if 'superman' in names:
print('!')
赋值
#声明
names=['jack','tom','lucky','superman','ironman']
print(names[-1])
names[-1]='john'
print(names)
删除语句
#声明
names=['jack','tom','lucky','superman','ironman']
del names[2]
print(names)
循环删除列表元素:删除元素之后列表的索引会发生变化
names=['jack','tom','lucky','superman','tom','ironman','tom']
l=len(names)
i=0
while i<l:
if 'jack'==names[i] or 'tom' ==names[i]:
del names[i] #names=['tom','lucky','superman','ironman']
l-=1
else:
i+=1
print(names)
names=['jack','tom','lucky','superman','tom','ironman','tom']
l=len(names)
i=0
while i<l:
if 'jack'==names[i] or 'tom' ==names[i]:
del names[i] #names=['tom','lucky','superman','ironman']
l-=1
continue
i+=1
print(names)
列表的切片操作
list1=['jack','tom','lucky','superman','ironman']
list2=list1[0:5]#['jack', 'tom', 'lucky', 'superman', 'ironman']
print(list2)
list2=list1[1:5]#['tom', 'lucky', 'superman', 'ironman']
print(list2)
list2=list1[0:4]#['jack', 'tom', 'lucky', 'superman']
print(list2)
list2=list1[-5:-1]#['jack', 'tom', 'lucky', 'superman']
print(list2)
list2=list1[-1:-5:-1]#['ironman', 'superman', 'lucky', 'tom']
print(list2)
list2=list1[:]#['jack', 'tom', 'lucky', 'superman', 'ironman']
print(list2)
list2=list1[::]#['jack', 'tom', 'lucky', 'superman', 'ironman']
print(list2)
list2=list1[::-1]#['ironman', 'superman', 'lucky', 'tom', 'jack']
print(list2)
列表添加
.append() 字符串追加,末尾追加
#list列表的添加:
#临时小型数据库
#创建空列表:
girls=['amy']
while True:
name=input('请输入心仪的女孩:')
if name=='quit':
break
#列表的函数使用 append extends insert
#append追加,末尾追加
#
#
girls.append(name)
print(girls)
.extend() 列表的合并
girls=['amy']
while True:
name=input('请输入心仪的女孩:')
if name=='quit':
break
#列表的函数使用 append extends insert
#append追加,末尾追加
#
#
girls.extend(name)
print(girls)
girls=['奥术大师','阿士大夫']
name=['大是大非','dasdaasddas']
girls.extend(name)
print(girls)
.insert() 插入
names=['John','Amy','Johnson','Diana','Yi','Jax']
names.insert(1,'刘涛')
print(names)
产生10个随机数,保存在列表中
import random
random_list=[]
for i in range(10):
ran=random.randint(1,50)
random_list.append(ran)
print(random_list)
产生10个不同的随机数,保存在列表中
import random
random_list=[]
i=0
while i<10: #i=0,1,2,3,4,5,6,7,8,9
ran=random.randint(1,20)
if ran not in random_list:
random_list.append(ran)
i+=1
else:
pass
print(random_list)
找出列表当中的最大值,最小值,求和
max() min() sum()
max_value=max(random_list)
print(max_value)
list=[1,2,3,5,2,6,1,7,3,10,2]
list_length=len(list)
max=0
for i in range(list_length):
if list[i] >max:
max=list[i]
print(max)
排序
sorted(list)是升序
sorted(list,reverse=True)是降序
list=[1,3,1,67,2,56,8,3,45,2,4,6]
new_list=sorted(list,reverse=True)
print(new_list)
总结:
列表中的元素可以是任意类型,可以存放整形、字符串类型、浮点型、列表类型、元祖、字典、对象
result=3 in [1,2,3,4]
print(result)
result=[3] in [1,2,3,4]
print(result)
result=[3] in [1,2,[3],4]
print(result)
result=[3,2] in[1,2,[3,2,1],4]
print(result)
把列表里的列表看成一个整体,长度为3
list=[[1,2],[3,4],[5,6]]
print(len(list))
list()强制转成列表类型
print(list(range(1,10,3)))
s='abc'
result=list(s)
print(result)
iterable表示可迭代的意思,list里面可以放可迭代的内容但是不能放整型等
列表内置函数
添加:append extend insert
删除:del list[index]
remove()
pop()
clear()
remove():删除列表中第一次出现的元素,返回值是None,没有找到要删除的元素则爆出异常
hotpot_list=['Amy','john']
hotpot_list.append('Jax')
result=hotpot_list.remove('Jax')
print(result)
print(hotpot_list)
result=hotpot_list.remove('Yi')
pop():默认删除列表中最后一个元素,也可以指定下标删除
name=['Jax','Zed']
result=name.pop()
print(result)
print(name)
clear():全部删除,返回值为None
reverse:逆序
name=['Jax','Zed']
name1=name[::-1]
print(name1+name)
name.reverse()
print(name)
sorted(name,reverse=True)与
name.sort(reverse=True)
name=['Jax','Zed']
name.sort(reverse=True)
print(name)
sorted(name)
print(name)
队列:先进先出 FIFO first in first out
栈:先进后出
手机界面,进入返回,利用这种机制