a = []
# 用一对中括号包起来
print(type(a))
#
列表的下标同字符串的下标,都是从0开始
列表的切片也同字符串的切片一样
a = [1,2,3,4,555,666,'ABC',['a','b','c']]
print(id(a)) # 2486727693320
# id() 函数返回对象的唯一标识符
# 用于获取对象的内存地址
print(a[0]) # 1
print(a[-1]) # ['a', 'b', 'c']
# 列表 a 嵌套一个列表
print(a[-1][1]) # b
print(a[0:])
# [1, 2, 3, 4, 555, 666, 'ABC', ['a', 'b', 'c']]
print(a[0:-1])
# [1, 2, 3, 4, 555, 666, 'ABC']
# 列表的切片同字符串的切片
# 切片类似一个切蛋糕的动作,但没有实际切蛋糕
print(id(a)) # 2486727693320
# 所以列表a还是列表a
a = [1,2,3,4,555,666,'ABC',['a','b','c']]
print(len(a)) # 8
列表的查找同字符串的查找,但使用的方法不同。
列表这里使用的是 list.index 字符串使用的是 str.find
a = [1,2,3,4,555,666,'ABC',['a','b','c'],555]
# a.index()
# value = 要查找的内容
# start = 开始的位置
# end = 结束的位置
print(a.index(555)) # 4
# 找到则返回第一次出现的下标位置
print(a.index('777'))
# 找不到则报错 ValueError: '777' is not in list
print((555 in a)) # True
# 判断数据是否在列表内 使用 in
print(a.count(555)) # 2
# 统计 列表内元素出现的次数
a = [1,2,3]
b = [4,5,6]
# 直接将数据添加到列表的尾部 append方法
# 列表.append(要添加的内容)
a.append('a')
print(a) # [1, 2, 3, 'a']
# 指定下标位置添加数据(类似于插队)
# 列表.insert(要插入的下标位置,要插入的内容)
b.insert(-1,5.5)
print(b) # [4, 5, 5.5, 6]
a = [1,2,3]
# 列表[下标]=要修改的值
a[1]=666
print(a) # [1, 666, 3]
# 列表的批量修改
a[0:] = [4,5,6]
print(a) # [4, 5, 6]
a = [1,2,3]
# 根据下标删除内容
a.pop(-1)
# 删除下标为-1的内容
print(a) # [1, 2]
# 删除超出范围的下标
# a.pop(5)
# print(a) # 会直接报错 IndexError: pop index out of range
# 根据值删除
a.remove(2)
print(a) # [1]
# 删除不存在的值
# a.remove(666)
# print(a) # 会直接报错 ValueError: list.remove(x): x not in list
b = [4,5,6]
print(b) # [4, 5, 6]
# 列表的清除,仅清楚列表内的内容
b.clear()
print(b) # []
a = [1,2,3]
# 使用切片的方式反转
print(id(a)) # 2158448824840
b = a[::-1]
print(b,id(b)) # [3, 2, 1] 2158448825352
# 使用reverse方法,会直接修改原列表的内容
a.reverse()
print(a,id(a)) # [3, 2, 1] 2640677523976
a = [1,2,3]
print(id(a)) # 2584638804488
# 使用切片的方法
b = a[:]
print(b) # [1, 2, 3]
print(id(b)) # 2584638805000
# 使用 copy
c = a.copy()
print(c) # [1, 2, 3]
print(id(c)) # 2420745364936
a = [7,5,6,8,1,22,0.5]
# 使用sort方法
a.sort()
print(a) # [0.5, 1, 5, 6, 7, 8, 22]
a.sort(reverse=False) # [0.5, 1, 5, 6, 7, 8, 22]
print(a)
# 默认参数 reverse=False 从小到大排列
b = [7,5,6,8,1,22,0.5]
b.sort(reverse=True)
print(b) # [22, 8, 7, 6, 5, 1, 0.5]
# 修改参数 reverse=True 从大到小排列
a = [1,1,3,5,4,4,3,6,7,8,9]
# 去重可以使用for循环或者是转换成set集合
# 使用for 循环
b = []
for i in a:
if i in b:
continue
else:
b.append(i)
print(b) # [1, 3, 5, 4, 6, 7, 8, 9]
# 转换成set集合
# 集合的特性:值不可以重复
c = set(a)
print(c) # {1, 3, 4, 5, 6, 7, 8, 9}
c = list(c)
print(c) # [1, 3, 4, 5, 6, 7, 8, 9]