python的基础列表_Python 基础:列表

列表快速入门

序列:一种数据结构 (指计算器中存储数据的方式),分类:

可变序列: list...

不可变序列:字符串 元组

列表:可以保存任意对象

1.创建一个列表[]

lst=[1,2,3,4,'python',None,True,max(1,3,2)]

print(lst,type(lst))

>>[1,2,3,4,'python',None,True,3],

索引index是元素在列表中的位置,列表中每个位置都会有一个索引 索引从0开始。

索引为负数时,是从后往前数,-1是最后一个

lst=[1,2,3,4,'python',None,True,max(1,3,2)]

print(lst[2],len(lst))

# len() 列表长度值len=index+1

>>3 8

列表切片

切片是指从现有列表中获取一个子列表

可以通过切片获取指定的元素

语法:列表[起始:结束],包前不包后

切片会获取新的列表,不会影响原来的列表

hero=['钢铁侠','绿巨人','蜘蛛侠','黑寡妇','蚁人','美国队长']

print(hero[0:2])

>>['钢铁侠', '绿巨人']

print(hero[1:])

>>['绿巨人', '蜘蛛侠']

# 如果省略结束位置,则从当前位置一直截取到最后

print(hero[:2])

>>['钢铁侠', '绿巨人']

# 如果省略开始位置,则从第一个元素截取到结束位置,但不包括结束位置

print(hero[:])

>>['钢铁侠', '绿巨人', '蜘蛛侠']

# 如果省略开始和结束位置,则取的列表全部

列表步长

步长可以省略,默认值为1,表示每次获取元素的间隔

当步长为负值的时候,列表元素为反序排序 lst[::-1]

步长不能为0

hero=['钢铁侠','绿巨人','蜘蛛侠','黑寡妇','蚁人','美国队长']

print(hero[0:5:3])

>>['钢铁侠', '黑寡妇']

print(hero[::-1])

>>['美国队长', '蚁人', '黑寡妇', '蜘蛛侠', '绿巨人', '钢铁侠']

#当步长为负值的时候,列表元素为反序排序

print(hero[::-2])

>>['美国队长', '黑寡妇', '绿巨人']

通用操作(元组,字典同理)

拼接 +:将两个列表拼接成一个列表

lst=[1,2,3]

lst2=[4,5,6]

print(lst+lst2)

>>

可以将列表重复指定次数

print(lst*2)

>>

in 和not in

in 用来检测指定的元素是否在列表中

not in 用来检测指定的元素是否不在列表中

hero=['钢铁侠','绿巨人','蜘蛛侠']

print('钢铁侠' in hero)

>>True

min()最小值 max() 最大值

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

print(min(lst),max(lst))

>>1 6

查看官网:docs.python.org/3/liberary

函数Function和方法Method的区别

xxx() 函数

yyy.xxx()方法==>比较特殊的函数,需要对象来应用

s.index(x,,) 可以获取指定元素在列表中的位置

hero=['钢铁侠','绿巨人','蜘蛛侠','绿巨人','蜘蛛侠','绿巨人']

print(hero.index('绿巨人'))

>>1

print(hero.index('绿巨人',3,7))

>>3

s.count() 可以获取指定元素在列表中的次数

hero=['钢铁侠','绿巨人','蜘蛛侠','绿巨人','蜘蛛侠','绿巨人']

print(hero.count('绿巨人'))

>>3

修改列表

1.通过索引直接修改

hero=['钢铁侠','绿巨人','蜘蛛侠','绿巨人','蜘蛛侠','绿巨人']

print('修改前:',hero)

hero[0]='雷神'

print('修改后:',hero)

2.通过del 关键字 来删除元素

del hero[2]

print('修改后:',hero)

通过切片 来修改元素

必须传递的是一个序列

hero=['钢铁侠','绿巨人','蜘蛛侠','绿巨人','蜘蛛侠','绿巨人']

print('修改前:',hero)

hero[0:3]='abcd'

print('修改后:',hero)

hero[0:3]=123 #报错

hero[0:2]=['a','b','c']

向索引为0 的位置插入一个元素

hero=['钢铁侠','绿巨人','蜘蛛侠','绿巨人','蜘蛛侠','绿巨人']

print('修改前:',hero)

hero[0:0]='abcd'

print('修改后:',hero)

切片替换: 设置步长后 替换的序列元素数量要等于切片元素数量

hero=['钢铁侠','绿巨人','蜘蛛侠','绿巨人','蜘蛛侠','绿巨人']

print('修改前:',hero[::2])

hero[::2]=['ab','cd','ef']

print('修改后:',hero)

切片删除:=[]

hero=['钢铁侠','绿巨人','蜘蛛侠','绿巨人','蜘蛛侠','绿巨人']

print('修改前:',hero )

hero[1:3]=[]

print('修改后:',hero)

不可变序列转换为可变序列 再做修改

s='python'

s=list(s)

print('修改前:',s)

s[1]='j'

print('修改后:',s)

4.通过方法修改列表

append方法: 向列表最后添加元素

hero=['钢铁侠','绿巨人','蜘蛛侠' ]

print('修改前:',hero)

hero.append('123')

print('修改后:',hero)

>>修改前: ['钢铁侠', '绿巨人', '蜘蛛侠']

>>修改后: ['钢铁侠', '绿巨人', '蜘蛛侠', '123']

insert方法: 向列表中指定位置添加元素

hero=['钢铁侠','绿巨人','蜘蛛侠' ]

print('修改前:',hero)

hero.insert(2,'123')

print('修改后:',hero)

>>修改前: ['钢铁侠', '绿巨人', '蜘蛛侠']

>>修改后: ['钢铁侠', '绿巨人', '123', '蜘蛛侠']

extend方法:使用新序列多个元素 扩展列表 ,相当于加一个列表 +=['a','b']

hero=['钢铁侠','绿巨人','蜘蛛侠' ]

print('修改前:',hero)

hero.extend(['a','b'])

print('修改后:',hero)

>>修改前: ['钢铁侠', '绿巨人', '蜘蛛侠']

>>修改后: ['钢铁侠', '绿巨人', '蜘蛛侠', 'a', 'b']

clear方法: 清除列表

hero=['钢铁侠','绿巨人','蜘蛛侠' ]

print('修改前:',hero)

hero.clear()

print('修改后:',hero)

>>修改前: ['钢铁侠', '绿巨人', '蜘蛛侠']

>>修改后: []

pop()方法: 通过索引方式删除并返回执行的元素,默认是删除最后一个

hero=['钢铁侠','绿巨人','蜘蛛侠' ]

print('修改前:',hero)

r=hero.pop(2)

print('修改后:',hero)

print(r)

>>修改前: ['钢铁侠', '绿巨人', '蜘蛛侠']

>>修改后: ['钢铁侠', '绿巨人']

>>蜘蛛侠

remove()方法:删除指定值的第一个元素 无返回值

hero=['钢铁侠','绿巨人','蜘蛛侠' ]

print('修改前:',hero)

hero.remove('绿巨人')

print('修改后:',hero)

>>修改前: ['钢铁侠', '绿巨人', '蜘蛛侠']

>>修改后:['钢铁侠', '蜘蛛侠']

reverse()方法:反转列表

hero=['钢铁侠','绿巨人','蜘蛛侠' ]

print('修改前:',hero)

hero.reverse()

print('修改后:',hero)

>>修改前: ['钢铁侠', '绿巨人', '蜘蛛侠']

>>修改后: ['蜘蛛侠', '绿巨人', '钢铁侠']

sort()方法:列表排序,默认升序,sort(reverse=True) 降序

lst=list('asdfwlefmwlijqq')

print('修改前:',lst)

lst.sort() #升序

print('升序修改后:',lst)

lst.sort(reverse=True) #降序

print('降序修改后:',lst)

>>修改前: ['a', 's', 'd', 'f', 'w', 'l', 'e', 'f', 'm', 'w', 'l', 'i', 'j', 'q', 'q']

>>升序修改后: ['a', 'd', 'e', 'f', 'f', 'i', 'j', 'l', 'l', 'm', 'q', 'q', 's', 'w', 'w']

>>降序修改后: ['w', 'w', 's', 'q', 'q', 'm', 'l', 'l', 'j', 'i', 'f', 'f', 'e', 'd', 'a']

遍历列表和range()函数

遍历列表

遍历列表:将列表中的元素取出来

1.while 循环模式:

hero=['钢铁侠','绿巨人','蜘蛛侠' ]

i =0

while i

print(hero[i])

i+=1

>>钢铁侠

>>绿巨人

>>蜘蛛侠

2.for 循环模式:

for 变量 in 遍历列表,序列有几个元素就执行几次, 每执行一次就会将序列中元素赋值给变量

hero=['钢铁侠','绿巨人','蜘蛛侠' ]

for h in hero

print(h)

>>钢铁侠

>>绿巨人

>>蜘蛛侠

range()函数

range(开始,结束,步长)函数

开始:默认值为0,可以省略

结束:不包括结束序列号

步长: 默认为1,可以省略

range(5)=range(0,5)=range(0,5,1)

print(range(5))

>>range(0, 5)

print(list(range(5)))

>>[0,1,2,3,4]

#循环通过range 索引值取列表各S值

lst=[1,2,3,4,5,6,7,8,9]

print(list(range(0,9,2))) #取序列号

>>[0, 2, 4, 6, 8]

for i in range(0,9,2):

print(lst[i])

>>1

>>3

>>5

>>7

>>9

#直接取list值

for i in lst[::2]:

print(i)

>>1

>>3

>>5

>>7

>>9

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值