l = [‘索隆‘, 1, [1, 2, 3], 4]
print(l[-1]) # 4 索引
print(l[-1:]) # [4] 切片之后还是列表
# 创建列表 list(可迭代对象) , 注意生成的列表是迭代着分开,而不是单独一个
l1 = list(‘hello‘)
print(l1) # [‘h‘, ‘e‘, ‘l‘, ‘l‘, ‘o‘]
# 增加
info = [‘洛克斯‘, ‘山治‘, ‘波雅汉库克‘]
info.append(‘香克斯‘) # 插入末尾
# print(info.append(‘香克斯‘)) # 不能这么用,返回是None
print(info)
while 1:
name = input(‘输入姓名, 按Q退出‘)
if name.upper() == "Q":
break
info.append(name)
print(info)
# 指定位置增加
l2 = [‘hello‘, ‘world‘, ‘波雅汉库克‘]
l2.insert(2, ‘wow‘) # 索引是必须的,且放在前面
print(l2) # [‘hello‘, ‘world‘, ‘wow‘, ‘波雅汉库克‘]
# 迭代增加
l = [‘张三‘, ‘李四‘]
l1 = [1, ‘2‘]
l.extend(l1)
print(l) # [‘张三‘, ‘李四‘, 1, ‘2‘]
# pop 按照索引删除 有返回值
l1 = [‘洛克斯‘, ‘山治‘, 1]
shan = l1.pop(-1) # pop是有返回值得,返回值类型是各自元素的类型
# l1.pop() 不指定索引 默认删除最后一个
print(shan, type(shan)) # 1 <class ‘int‘>
# remove 指定元素删除 如果有多个相同元素,则从左删除仅第一个
l1 = [‘洛克斯‘, ‘山治‘, 1, ‘山治‘]
l1.remove(‘山治‘)
print(l1) # [‘洛克斯‘, 1, ‘山治‘]
# clear 清空列表
l = [1, 2, 3]
l.clear()
print(l) # {}
# del 按照索引或者切片删除
l = [1, 9, 8, 2, 3, 4, 5, 6]
del l[-1] # 按照索引删除 删除6
print(l) # [1, 9, 8, 2, 3, 4, 5]
del l[:4:2] # 按照切片删除 步长是2
print(l) # [9, 2, 3, 4, 5]
改
# 改 按照索引改
l1 = [‘洛克斯‘, ‘山治‘, ‘y‘, ‘山治‘]
l1[0] = ‘路飞‘
print(l1) # [‘路飞‘, ‘山治‘, 1, ‘山治‘]
# 改:按照切片
l1 = [‘洛克斯‘, ‘山治‘, ‘y‘, ‘山治‘]
l1[2:] = [‘蒙奇D路飞‘, ‘hello‘, ‘hi‘] # 没有指定长度,则数据个数可变
print(l1) # [‘洛克斯‘, ‘山治‘, ‘蒙奇D路飞‘, ‘hello‘, ‘hi‘]
l1[0:4:2] = [‘罗宾‘, ‘草帽‘] # 指定步长,则重新添加的个数要和以前一样,否则会报错
print(l1)
# 注意 切片改为为字符串时候是迭代这增加的(基本没啥用)
l = [‘太白‘, ‘alex‘, ‘WuSir‘, ‘女神‘]
l[1:3] = ‘abcdefg‘
print(l) # [‘太白‘, ‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘, ‘f‘, ‘g‘, ‘女神‘]
# 按照切片(步长)改值(必须一一对应) 感觉没啥用 直接[‘对‘, ‘应‘]
l = [‘太白‘, ‘alex‘, ‘WuSir‘, ‘女神‘]
l[::2] = ‘对应‘
print(l) # [‘对‘, ‘alex‘, ‘应‘, ‘女神‘]
l1 = [‘洛克斯‘, ‘山治‘, ‘y‘, ‘山治‘]
print(l1[0], type(l1[0])) # 洛克斯 <class ‘str‘>
print(l1[::-2]) # [‘山治‘, ‘山治‘]
for i in l1:
print(i)
‘‘‘
洛克斯
山治
y
山治
‘‘‘
l = [‘hello‘, 1, [‘王路飞‘, ‘God‘, ]]
l[0] = l[0].upper()
print(l) # 第一个元素大写[‘HELLO‘, 1, [‘王路飞‘, ‘God‘]]
l[2].append(‘666‘)
print(l)
l[2][1] = l[2][1]+‘NB‘ # God拼接NB
print(l) # [‘HELLO‘, 1, [‘王路飞‘, ‘GodNB‘, ‘666‘]]
原文:https://www.cnblogs.com/jnsn/p/12731059.html