Python 学习笔记 第四阶段 列表

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
在这里插入图片描述
栈:先进后出
在这里插入图片描述
手机界面,进入返回,利用这种机制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值