Python学习Day7--list列表

字符串创建以后不可修改,而列表可以直接修改元素的值。


列表的魔法


列表是一个类

li = [11,22,33,'alex'],li为列表的对象
以逗号来分割每个元素,列表中的元素可以是数字,也可以是字符串,布尔值。而且列表
之中可以嵌套列表。
可以通过索引/切片来取到列表的值
比如 li[0:2]
同时支持forwhile循环
for i in li:


列表的元素支持直接修改(类似链表这样的不连续的存储方式,不需要重新开辟内存),
但字符串不支持直接修改(类似顺序表的存储方式)

删除方式直接 del li[1]

同时层层嵌套的列表也可以依次取出元素
在这里插入图片描述
支持in操作
在这里插入图片描述
类型转换

s = 'abc'
new_s = list(s)
print(new_s)
输出结果:['a', 'b', 'c']
把字符串中的每个字符拿出来当作列表元素(内部使用for循环的机制)
数字是不可以转换成列表的,数字也不可以与字符拼接。


列表转换成字符串是需要自己写for循环(列表里既有字符串也有数字时)
li = [11,22,33,'134','alex']
s = ''
for i in li :
	s = s + str(i)
print(s)

输出结果:112233134alex

当列表里只有字符串时直接可以使用join函数
li = ['123','alex']
v = ''.join(li)
print(v)
输出结果:123alex

list对象调用list类提供的方法


append函数:添加元素到列表

li = ['123','alex']
li.append(['wo'])
li.append('abc')
print(li)
输出结果:
['123', 'alex', ['wo'], 'abc']

li = ['123','alex']
li.append(['12','ab','啦啦啦'])
print(li)

输出结果:['123', 'alex', ['12', 'ab', '啦啦啦']]

extend函数:拓展原列表,参数:是可迭代的对象(可以用for循环)

li = ['123','alex']
li.extend(['12','ab','啦啦啦'])
print(li)
输出结果:['123', 'alex', '12', 'ab', '啦啦啦']

li = ['123','alex']
li.extend('啦啦啦')
print(li)
输出结果:['123', 'alex', '啦', '啦', '啦']

clear函数:直接清空列表

li.clear()
print(li)

copy函数:复制

li = ['123','alex']
li.append(['wo'])
li.append('abc')
v = li.copy()
print(v)
输出结果:['123', 'alex', ['wo'], 'abc']
此复制为浅复制

count函数:计算列表的元素出现的次数

li = ['123','alex']
v = li.count('123')
print(v)
输出结果:
1
count里面必须有参数,不然会报错

index函数:找到列表元素的索引
index(value,st,en)

li = ['123','alex']
v = li.index('alex')
print(v)

输出结果:1

insert函数:在指定索引位置插入元素
insert(index,value)

li = ['123','alex']
li.insert(0,'al')
print(li)
输出结果:
['al', '123', 'alex']

pop函数:删除某个值(1,指定索引 2,如果不给参数,默认是删除最后一个),并获取删除的值。

li = ['123','alex','ab',120]
v = li.pop(3)
print(v)
print(li)
输出结果:
120
['123', 'alex', 'ab']

remove函数:删除列表中的指定值,默认左边优先

li = ['123','alex','ab',120,'123']
li.remove('123')
print(li)
输出结果:
['alex', 'ab', 120, '123']

删除的几种形式:del的切片和索引,pop,remove,或者直接清空clear

reverse函数:将当前列表的元素翻转

li = ['alex',123,34,45,'123','abc']
li.reverse()
print(li)
输出结果:
['abc', '123', 45, 34, 123, 'alex']

sort函数:将列表元素进行排序
sort(reverse=True)为从大到小排序

li = ['123','34','45','abc']
li.sort(reverse=True)
print(li)
输出结果:
['abc', '45', '34', '123']

li = [11,33,22,55,21]
li.sort(reverse=True)
print(li)
输出结果:[55, 33, 22, 21, 11]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值