列表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)