列表的增删改查和嵌套, 元组, range
一. 列表
列表内元素可增删改查
lst = ['手机', '电脑', '内存', '地板除', '次幂', ['Python', 'Java', 'C#']]
切片
print(lst[2:5])
print(lst[-1])
print(lst[5][1][2])
print(lst[0:5:2])
增
print(lst.append("English"))
print(lst.insert(3,"IELTS"))
print(lst.extend("GPA"))
print(lst.extend(["GPA"]))
extend是迭代添加, 添加整个字符串需要用extend(列表), 不能添加数字和bool值
删
data = lst.pop(2)
print(data)
list.remove("手机") 如果不存在会报错
del lst[2:4]
lst.clear()
改
lst[0] = "时间戳"
lst[1:4:2] = ["哈希", "内存"] 必须和去掉的同样多,不然会报错
查
for el in lst:
print(el)
嵌套
lst[5][0] = "Go"
lst[5][0] = lst[5][0].upper()
翻转
lst.reverse() 翻转
lst.sort(reverse=True) 按大小排序,并翻转
二. 元组
元组不可改变, 但元组内的列表的元素可以改
tu = (1, )
tu = tuple()
元组可查询, 循环(遍历), 切片
tu = (1, 2, '手机', "电脑", "内存", [1, "电脑"])
print(tu[1:5:2])
tu[5].append("内存")
print(tu)
a =[1, "电脑"] tu = (1, 2, '手机', "电脑", "内存", a) tu[5] = [1, "电脑"] # 这样会报错 # tu[5]用的是的指向列表[1, "电脑"]的内存指向, 只要不改变内存指向就不会报错 a = [1,2,3,4,5] print(tu) # (1, 2, '手机', '电脑', '内存', [1, '电脑']) # tu[5]用的是指向[1, "电脑"]内存地址的指向, 重新定义了a, a的内存指向改变了, 但是tu[5]的内存指向没改变
三. range
for i in range(10):
print(i)
for i in range(10, 1, -2):
print(i)
for i in range(len(lst)):
print(lst[i])