列表
python常用的容器型数据类型 list列表 其他语言 Java:数组
一.列表初初识
list
1.str
存储少量的数据 切片还是任何操作获取的都是字符串类型
l1 = [100,alex,True,[1,2,3]] # 承载任意数据类型 ,存储大量数据
列表是有序的 可索引 切片(步长)
2.索引,切片,步长
(1).索引
li = [100,"taibai",True,[1,2,3]]
print(li[0],type(li[0]))
print(li[1],type(li[1]))
print(li[-1],type(li[-1]))
(2).切片(顾头不顾尾)
li = [100,"taibai",True,[1,2,3]]
print(li[:2])
# 1.通过対1i列表的切片形成新的列表l1,l1 = [1,3,2]
# 2.通过対1i列表的切片形成新的列表l2,l2 = ["a",4,"b"]
# 3.通过対li列表的切片形成新的列表l4,l4 = [3,"a","b"]
# 4.通过対1i列表的切片形成新的列表l6,l6 = ["b","a",3]
li=[1,3,2,"a",4,"b",5,"c"]
l1 = li[:3] # 1
print(l1)
l2 = li[3:6] # 2
print(l2)
l4 = li[1:6:2] # 3
print(l4)
l6 = li[-3:-8:-2] # 4
print(l6)
二.列表的只能增删改查
列表的创建
方式一
li = [1,2,“alex”]
方法二
l1 = list()
l2 = list("xvjxbvnmbhghjschzbnmcbmxnx")
print(l1)
print(l2)
1.增
(1).append 在列表最后追加
l1 = ["太白","女神","吴老师","xiao","阎龙"]
l1.append('xx')
print(l1)
应用
1 = ["太白","女神","吴老师","xiao","阎龙"]
while 1:
name = input('请输入新员工姓名: (Q或者q退出程序)')
if name.upper() == 'Q': break
l1.append(name)
print(l1)
(2).insert 插入 (按位置)
l1 = ["太白","女神","吴老师","xiao","阎龙"]
l1.insert(0,'wusir')
print(l1)
l1 = ["太白","女神","吴老师","xiao","阎龙"]
l1.insert(2,'wusir')
print(l1)
3.extend 迭代着追加 组成对象的最小元素迭加
l1 = ["太白","女神","吴老师","xiao","阎龙"]
l1.extend("abcd") # '吴老师', 'xiao', '阎龙', 'a', 'b', 'c', 'd']
l1.extend(["alex",]) # ['太白', '女神', '吴老师', 'xiao', '阎龙', 'alex'] ****
l1.extend(["alex",1,2]) # ['太白', '女神', '吴老师', 'xiao', '阎龙', 'alex',1,2] ****
print(l1)
2.删
(1).pop 按照索引位置删除 有返回值(返回的是删除的元素)默认删除最后一个
l1 = ["太白","女神","吴老师","xiao","阎龙"]
l2 = l1.pop(-2)
print(l1)
print(l2)
l1 = ["太白","女神","吴老师","xiao","阎龙"]
l3 = l1.pop()
print(l3)
print(l1)
(3). remove 指定元素删除, 如果有重名元素,默认删除从左数第一个
l1 = ["xiao","太白","女神","吴老师","xiao","阎龙"]
l1.remove('xiao')
print(l1)
(3).del 按照索引删除
**按照索引删除**
l1 = ["太白","女神","吴老师","xiao","阎龙"]
del l1[-1]
print(l1)
按照切片(步长)删除
l1 = ["太白","女神","吴老师","xiao","阎龙"]
del l1[::2]
print(l1)
(4).clear (了解) 清空
l1 = ["太白","女神","吴老师","xiao","阎龙"]
l1.clear()
print(l1)
3.改
(1).按照索引改
l1 = ["太白","女神","吴老师","xiao","阎龙"]
l1[0] = '男神' # 放在等号左边为右边赋值位置
print(l1)
(2).按照切片改(了解)
l1 = ["太白","女神","吴老师","xiao","阎龙"]
l1[2:] = 'sdasfasfas'
print(l1)
(3).按照切片(步长)
l1 = ["太白","女神","吴老师","xiao","阎龙"]
l1[::2] = 'abc'
print(l1)
4.查
切片(步长)查
for 循环
l1 = ["太白","女神","吴老师","xiao","阎龙"]
for i in l1:
print(i)
print(l1)
5.元组
(1).也可索引,切片(步长)
tu = (100,'taibai',[100,2,3]) #列表里的元素可改
print(tu[0])
print(tu[:2])
查看
tu = (100,'taibai',[100,2,3])
for i in tu:
print(i)
print(len(tu))
tu = (100,'taibai',[100,2,3])
tu[-1].append(666)
print(tu)
没有增减
tu = (100,'taibai',[100,2,3])
del tu[2]
print(tu)
应用:
重要数据,不想让别人改变的数据可与存放于元组
元组的拆包,分别复制
a,b = (1,2) # 一一对应
print(a,b)
range
类似于列表,自定制数字范围的数字列表
顾头不顾尾
r = range(10)# (0,1,2,3,4,5,6,7,8,9)
for i in r:
print(i)
l1 = [1,2,3,'alex','taibai']
# 利用for循环,利用range将l1列表的所有索引打印踹
for i in range(len(l1)):
print(i)