4.python数据结构-列表(list)

# 列表(list)
# 可放不同类型元素

# 索引
a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(a)  # range(1, 10)
print(a[1])  # 2
# 最后一个元素
print(a[-1])  # 9

# 切片
# 所有元素
print(a[0:])  # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 前三个元素
print(a[0:3])  # [0, 1, 2]
# 最后一个元素
print(a[-1:])  # [9]
# 不包含最后一个元素
print(a[:-1])  # [0, 1, 2, 3, 4, 5, 6, 7, 8]
# 步长为2
print(a[::2])  # [0, 2, 4, 6, 8]

# 列表串联
print(a[0:3] + a[3:])  # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

# 最大值最小值
print(max(a))  # 9
print(min(a))  # 0

# 包含和非包含
if 10 in a:
    print('10 is in a')
if 10 not in a:
    print('10 is not in a')  # 10 is not in a

# 计算元素重复次数
print(a.count(3))  # 1
print(a.count(200))  # 0

# 增、删操作
# 在末尾追加10
a.append(10)
print(a)  # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 在0下标处插入111
a.insert(0, 111)
print(a)  # [111, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

print('compare a with b:')
aa_list = [1, 2, 3, 4, 5]
bb_list = [1, 2, 3, 4, 5]
aa_list.append(bb_list)
print(aa_list)  # [1, 2, 3, 4, 5, [1, 2, 3, 4, 5]]
aa_list = [1, 2, 3, 4, 5]
bb_list = [1, 2, 3, 4, 5]
aa_list.extend(bb_list)
print(aa_list)  # [1, 2, 3, 4, 5, 1, 2, 3, 4, 5]

# 删除下标0的元素
del a[0]
print(a)  # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
try:
    del a[100]
except:
    print('IndexError: list assignment index out of range')  # IndexError: list assignment index out of range

# 删除值为10的元素
a.remove(10)
# 删除不存在的元素会抛出error
try:
    a.remove(333)
except:
    print('list has not a element with value 10')  # list has not a element with value 10

print(a)  # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

# 删除并返回删除的元素
print(a.pop(2))  # 2
print(a)  # [0, 1, 3, 4, 5, 6, 7, 8, 9]

# 实现堆
a_stack = []
a_stack.append(1)
a_stack.append(2)
a_stack.append(3)
print(a_stack.pop())  # 3
print(a_stack.pop())  # 2
print(a_stack.pop())  # 1

# 实现队列
a_queue = []
a_queue.append(1)
a_queue.append(2)
a_queue.append(3)
print(a_queue.pop(0))  # 1
print(a_queue.pop(0))  # 2
print(a_queue.pop(0))  # 3

a = [1, 5, 2, 3, 8, 5, 0, 2, 66, 33, 9, 24, 36, 73, 22, 66, 78]
print(a)  # [1, 5, 2, 3, 8, 5, 0, 2, 66, 33, 9, 24, 36, 73, 22, 66, 78]
# 反序
a.reverse()
print(a)  # [78, 66, 22, 73, 36, 24, 9, 33, 66, 2, 0, 5, 8, 3, 2, 5, 1]
# 排序
a.sort()
print(a)  # [0, 1, 2, 2, 3, 5, 5, 8, 9, 22, 24, 33, 36, 66, 66, 73, 78]
# 反序
a.reverse()
print(a)  # [78, 73, 66, 66, 36, 33, 24, 22, 9, 8, 5, 5, 3, 2, 2, 1, 0]
原文地址:https://www.cnblogs.com/wjc920/p/9256160.html