标签:试题 利用 定义 not error: 接收 方法 返回值 查看
[]
表示列表添加元素时,内存的变化
list.append() | 末尾添加 |
---|---|
list.insert() | 指定位置插入 |
list.extend() | 迭代添加 |
list.append()
lst = ["炭烧鸡肉", "咖喱鸡排", "黄焖鸡"]
lst.append("浓香面")
print(lst) # ['炭烧鸡肉', '咖喱鸡排', '黄焖鸡', '浓香面']
list.insert()
lst = ["炭烧鸡肉", "咖喱鸡排", "黄焖鸡"]
lst.insert(1, "浓香面")
print(lst) # ['炭烧鸡肉', '浓香面', '咖喱鸡排', '黄焖鸡']
list.extend()
lst = ["炭烧鸡肉", "咖喱鸡排", "黄焖鸡"]
lst.extend(["浓香面", "卤肉饭"])
print(lst) # ['炭烧鸡肉', '咖喱鸡排', '黄焖鸡', '浓香面', '卤肉饭']
列表删除元素的时候,内存的变化
list.pop() | 从末尾弹出元素 |
---|---|
list.remove() | 删除指定元素 |
list.clear() | 清空列表 |
del | 各种删除 |
list.pop()
lst = ["炭烧鸡肉", "咖喱鸡排", "黄焖鸡", "浓香面"]
det = lst.pop()
print(det) # 浓香面
print(lst) # ['炭烧鸡肉', '咖喱鸡排', '黄焖鸡']
list.remove()
lst = ["炭烧鸡肉", "咖喱鸡排", "黄焖鸡", "浓香面"]
lst.remove("黄焖鸡")
print(lst) # ['炭烧鸡肉', '咖喱鸡排', '浓香面']
lst.remove("卤肉饭")
print(lst) # ValueError: list.remove(x): x not in list
list.clear()
lst = ["炭烧鸡肉", "咖喱鸡排", "黄焖鸡", "浓香面"]
lst.clear()
print(lst) # []
del
lst = ["炭烧鸡肉", "咖喱鸡排", "黄焖鸡", "浓香面"]
del lst[2]
print(lst) # ['炭烧鸡肉', '咖喱鸡排', '浓香面']
del lst[:2]
print(lst) # ['浓香面']
del lst
print() # NameError: name 'lst' is not defined # 直接删除列表
列表修改元素的时候,内存的变化
通过下标索引修改列表
lst = ["炭烧鸡肉", "咖喱鸡排", "黄焖鸡", "浓香面"]
lst[2] = "卤肉饭"
print(lst) # ['炭烧鸡肉', '咖喱鸡排', '卤肉饭', '浓香面']
通过切片修改列表
lst = ["炭烧鸡肉", "咖喱鸡排", "黄焖鸡", "浓香面"]
lst[1:3] = ["卤肉饭"]
print(lst) # ['炭烧鸡肉', '卤肉饭', '浓香面']
lst = ["炭烧鸡肉", "咖喱鸡排", "黄焖鸡", "浓香面"]
lst[1::2] = ["卤肉饭", "梅菜扣肉"]
print(lst) # ['炭烧鸡肉', '卤肉饭', '黄焖鸡', '梅菜扣肉']
lst[1::2] = ["卤肉饭"]
print(lst)
# ValueError: attempt to assign sequence of size 1 to extended slice of size 2
通过for循环遍历查看
lst = ["炭烧鸡肉", "咖喱鸡排", "黄焖鸡", "浓香面"]
for el in lst:
print(el, end=" ") # 炭烧鸡肉 咖喱鸡排 黄焖鸡 浓香面
通过列表索引查看
lst = ["炭烧鸡肉", "咖喱鸡排", "黄焖鸡", "浓香面"]
print(lst[0]) # 炭烧鸡肉
print(lst[1]) # 咖喱鸡排
print(lst[2]) # 黄焖鸡
print(lst[3]) # 浓香面
list.index(n)
lst = ["炭烧鸡肉", "咖喱鸡排", "黄焖鸡", "浓香面"]
index = lst.index("浓香面")
print(index) # 3
index = lst.index("卤肉饭")
print(index) # ValueError: '卤肉饭' is not in list
核心思想:利用降维,一层一层的看
lst = ["睡觉", "学习", ["吃饭", ["炭烧鸡肉", "酸梅汤"]], "运动"]
# 获取"炭烧鸡肉"
lst1 = lst[2]
lst2 = lst1[1]
lst3 = lst2[0]
print(lst3) # 炭烧鸡肉
print(lst[2][1][0]) # 炭烧鸡肉 # 利用降维,一层一层的看
()
表示元组的不可变不是绝对的
元组的不可变只得是元组本身和元素的数据类型不可变,而元素可不可变取决于元素是否是可变数据类型
tu = (123, "123", [1,2,3])
tu[2].append(4)
print(tu) # (123, '123', [1, 2, 3, 4])
因为元组是不可变数据类型,不支持增删改,所以元组的方法并不多
tu.count() | 计算元素在元组中出现的次数 |
---|---|
tu.index() | 查询元素的索引位置 |
tu.count(n)
tu = (1, 2, 3, 2, 3)
c = tu.count(2)
print(c) # 2
tu.index()
tu = ("炭烧鸡肉", "咖喱鸡排", "卤肉饭", "浓香面")
i = tu.index("卤肉饭")
print(i) # 2
e = tu.index("炸酱面")
print(e) # ValueError: tuple.index(x): x not in tuple
元组是有序数据类型支持索引和切片
元组的切片得到的依然是元组
tu = ("炭烧鸡肉", "咖喱鸡排", "卤肉饭", "浓香面")
print(tu[:2]) 3 ('炭烧鸡肉', '咖喱鸡排')
来看一个面试题:
tu = (10) # tu是什么数据类型
print(type(tu)) # <class 'int'>
tu1 = (10)
tu2 = ("zxdzs")
tu3 = ("zxdzs",)
tu4 = ()
print(type(tu1)) # <class 'int'>
print(type(tu2)) # <class 'str'>
print(type(tu3)) # <class 'tuple'>
print(type(tu4)) # <class 'tuple'>
格式:
range(起始位置,终止位置,步长)
range可以直接写一个终止位置
for el in range(5):
print(el, end=" ") # 0 1 2 3 4
若使用步长必须添加起始位置
for el in range(0, 5, 2):
print(el, end=" ") # 0 2 4
例1:求0-50之间的所有奇数
for i in range(1, 50, 2):
print(i)
例2:求0-50之间的所有偶数
for i in range(0, 51, 2):
print(i)
例3:获取1-50的一个列表
lst = list(range(51))
标签:试题 利用 定义 not error: 接收 方法 返回值 查看
原文地址:https://www.cnblogs.com/tianlangdada/p/11518648.html