#python列表语法规则详解

列表list (*****)

定义:能装东西的东西

在python中用[]来表示一个列表。列表中的元素通过,隔开

a = [‘张三丰’,‘张无忌’,‘张绍刚’,[1,2,3,True, ]] # 嵌套定义列表

特性:

1. 也像字符串一样也有索引和切片

2. 索引如果超过范围会报错

3. 也可以用for循环进行遍历

4. 用len可以拿到列表的长度 => length

lst = [‘金毛狮王’, ‘张绍刚’, ‘张无忌’, ‘郭某某’]

输出列表信息

print(lst[0])
print(lst[1:3])
print(lst[-1:-4:-1])
print(lst[234]) # 索引如果超过范围会报错
for i in lst: # 也可以用for循环进行遍历
print(i)
print(len(lst))

1.1 ================================

#实战案例

列表的增删改查 (*)

append() 追加

lst = [] 
lst.append(‘张绍刚’)
lst.append(‘王小宝’)
lst.append(‘赵本山’)
insert() 插入 指定位置进行插入
lst.insert(0, ‘赵敏’)

extend() 可以合并两个列表,批量的添加

lst.extend([‘武则天’, ‘赢政’ , ‘马超’])
print(lst)

删除

ret = lst.pop(3) #给出被删除的索引,返回被删除的元素
print(lst)
print(ret)
lst.remove(‘马超’) #删除某个元素(*)
print(lst)

# 修改

lst[4]=‘恺’ #直接用索引就可以进行修改操作
print(lst)

查询

print(lst[3])

小练习

把所有的姓张的人修改成姓王

lst =[‘赵敏’, ‘张绍刚’, ‘王小宝’, ‘赵本山’, ‘武则天’, ‘赢政’, ‘张超’]
for item in lst: # 此时,我们看不到元素的索引位置
for i in range(len(lst)): # len(lst)列表的长度-> 可以直接拿到列表索引的for循环
item =lst[i] # item依然是列表中的每一项
if item.startswith(‘张’):
# 张绍刚
new_name = ‘王’+item[1:]
print(new_name)
# 把新名字丢回列表(需要索引了?)
lst[i] = new_name # 修改值
print(lst)

案例

lst =[‘赵敏’, ‘张绍刚’, ‘王小宝’, ‘赵本山’, ‘武则天’, ‘赢政’, ‘张超’]

for i in range(7) #无法添加进行,修改后的新内容无法丢进去

for i in range(len(lst)):
item = lst[i]
if item.startswith(‘张’):
new_name =‘王’+item[1:]
print(new_name)
lst[i] = new_name
print(lst)

案例

lst = [‘zhongming’, ‘langshaoguo’, ‘wangxiaobiao’, ‘zhaogbenshang’]
for i in lst:
for i in range(len(lst)):
item = lst[i]
if item.endswith(‘g’):
print(item)
new_name = ‘G’+item[::-1]
lst[i] = new_name
print(lst)

列表的其他操作(补充)

排序

lst = [1,8,3,‘麻花藤’,‘武大郎’] # 列表会按照你存放的顺序来保存
print(lst)

lst = [222,444,123,43, 124,532423,1]
lst.sort() # 对列表进行升序排序
lst.sort(reverse=True) # reverse: 翻转
print(lst)

列表的嵌套

lst = [‘abc’,‘def’,[‘呵呵哒’,‘妈妈呀’,‘苦苦脊瓦’,[‘可乐’,‘scrapy’,123]],‘ade’,‘qpr’]
s1 = lst[2][3][1].upper()
print(s1)

列表的循环删除(*)

lst =[‘赵敏’, ‘张绍刚’, ‘王小宝’, ‘赵本山’, ‘武则天’, ‘赢政’, ‘张超’]
temp = [] # 准备一个临时列表,负责存储要删除的内容
for item in lst:
if item.startswith(‘张’):
temp.append(item) # 把要删除的内容记录下来
# lst.remove(item) # 有bug
for item in temp:
lst.remove(item) # 去原列表中进行删除操作
print(lst)

安全稳妥的循环删除方式:

将要删除的内容保存在一个新列表中,循环新列表。 删除老列表

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值