列表的操作

1.列表

  字符串的缺点:

    1)只能存储少量数据

    2)s = "1, True, [1, 2, 3]"无论索引,切片获取的都是字符串类型,太单一转化成原来的类型,还需要进一步转化.

  列表是python基础数据类型之一,是一个有序的可以存储大量的数据的数据类型,列表是以中括号组成,每个元素以逗号隔开的,容器型数据类型.[1, "太白", [1, 2, 3],True, {"name": "alex"},(22, 33)].程序中如果需要构建一个容器型数据并且是按照顺序存储的大量的数据,要用到列表.

  列表的常用操作方法

l1 = ["太白", 100, "alex", "日天", "武大", "吴老师", "景女神"]
# 列表的索引
print(l1[0])
ret = l1[0]
print(ret, type(ret))
# 列表的切片
print(l1[:4])
print(l1[:5:2])
# 倒序取值
print(l1[-1:-4:-1])

  

l1 = ["太白", "武大", "吴老师", "景女神"]

  增

# append 追加(在最后面加)
l1.append("alex")
l1.append(100)
l1.append([1, 2, 3])
print(l1)
# insert 插入(在任意位置添加元素)
l1.insert(1, "小潘")
# extend 迭代着追加
l1.extend("alex")
l1.extend(["肖峰", 666])
print(l1)  

  删

pop 按照索引删除,会将删除的元素作为返回值返回
ret = l1.pop(0)
print(ret)

# remove 按照元素删除(重复的元素,只删除第一个)
ret = l1.remove("武大")
print(ret)

# clear 清空列表
l1.clear()
print(l1)
# del
"""
1.按照索引删除
2.按照切片(可以加步长)删除
3.删除整个列表
"""
del l1[-2]
del l1[1:]
del l1[::2]
del l1

  改

# 改某个元素
l1[0] = "alex"
# 切片改(可以不用元素一一对应)
l1[:3] = "abc"
l1[:3] = "adsadsadd"
# 切片(步长)改
l1[1:4:2] = "ab" # 删除几个元素,必须添加几个元素,一一对应

  查

# 按照索引,按照切片(步长查询)
# for 循环
for i in l1:
    print(i)

print(l1)

  其他方法

l1 = ["武大", "太白", "武大", "吴老师", "武大"]
# len
print(len(l1)) # 获取列表的长度(总个数)

# count 计算某个元素出现的次数
print(l1.count("武大"))

# index 通过元素找索引,找到第一个就返回,找不到就报错
print(l1.index("太白"))
print(l1.index("武大"))

l1 = [4, 5, 3, 9, 8, 7, 6, 1]
# sort 从小到大排序
l1.sort()
l1.sort(reverse=True) # 从大到小
l1.reverse() # 反转
print(l1)

  列表的嵌套

'''
l1 = [1, 2, 'taibai', [1, 'alex', 3,]]
1, 将l1中的'taibai'变成大写并放回原处。
2,给小列表[1,'alex',3,]追加一个元素,'老男孩教育'。
3,将列表中的'alex'通过字符串拼接的方式在列表中变成'alexsb'
'''
l1 = [1, 2, 'taibai', [1, 'alex', 3,]]
# 1.
l1[2] = l1[2].upper()
print(l1)
# 2.
l1[3].append("老男孩教育") # 小列表里的增删改查,不影响大列表
print(l1)
# 3.
l1[3][1] += "sb"
print(l1)

  列表的总结:

    python中常用的数据类型,工作中,都是涉及到嵌套的列表居多,将增删改查全部记住

2.元组

  是python中基础数据类型之一,容器型数据类型,存储大量的数据.

  (),里面的元素以","隔开的数据类型.

  (1, '太白', [1, 2, 3], True, {'name': 'alex'}, (22,33))

  其他语言中,没有元组的概念.

  元组是不可以进行修改的,只能查询.元组中存储的都是重要的数据,个人信息等等.

  应用:如果想存储一些重要的数据,这些数据只读,不能修改,那么就放到元组.

# tuple(元组)
tu1 = (1, "alex", [1, 2, 3], True)
# 可索引,切片
print(tu1[1])
print(tu1[:3])

# 元组只能查询不能改
# 索引,切片(步长) 查询
for i in tu1:
    print(i)

print(len(tu1))
print(tu1.count("alex"))
# index里True和False,返回0和1
print(tu1.index(True))

# 可以删除元组
del tu1
print(tu1)

# 元组第一层元素是不能改的
# 儿子不能改,孙子可能改.
tu1 = (1, "alex", [1, 2, 3], True)
tu1[2].append("太白")
print(tu1)

3.range

  内置函数,python给你提供的一个功能.将range视为:可控制范围的数字列表.

range(1, 10) # 顾头不顾腚
print(range(1, 10))
for i in range(1, 10):
    print(i)

# 1~100
for i in range (1, 101):
    print(i)

# 1~100的偶数
for i in range (2, 101, 2):
    print(i)

# 10 ~ 1
for i in range (10, 0, -1):
    print(i)

# 从0开始可以不写0
for i in range(10):
    print(i)

# 应用
# range多与for循环配合
l1 = ["无sir", "alex", "太白", 100, 5]
for i in range(len(l1)):
    print(i)
原文地址:https://www.cnblogs.com/yaoyanxin007/p/10477048.html