​    python基础--列表    ​​        

列表的概念
  1. 列表是一种有序和可更改的集合。
  2. 列表可以随时添加和删除其中的元素。
  3. 列表允许重复的成员。
  4. 列表使用 []表示
  5. 列表的第一个元素的索引为0,最后一个元素的索引为-1。
  6. 创建列表:list_name = []
列表的访问

列表切片

  • list_name[start:end:step]
  • start:开始索引
  • end:结束索引
  • step:步长
  • 获取列表的子列表
list_name = [1,2,100,3,4,5]
print('列表的副本,对其修改不影响源列表:',list_name[:])
print('获取从开始到末尾的列表,不包括末尾元素:',list_name[0:-1])
print('获取前几个元素的列表:',list_name[:3])
print('获取后几个元素的列表:',list_name[-3:])
print('获取从开始到末尾,步长为2的元素列表:',list_name[::2])


重复拼接

  • list_name * n
  • 返回重复n次列表元素的新列表
list_name = [1,2,100,3,4,5]
print(list_name * 2)


  • list_name + list_name
  • 拼接列表,返回新列表
list_name = [1,2,100,3,4,5]
new_list_name = [3,4]
print(list_name + new_list_name)


和,最大,最小运算

  • sum(list_name):求和
  • max(list_name):求最大值
  • min(list_name):求最小值
list_name = [1,2,100,3,4,5,8]
print(sum(list_name))
print(max(list_name))
print(min(list_name))


元素修改

  • list_name[index]=new_value
  • 通过列表名和索引访问列表对应的元素,然后把新的元素赋值给该索引。
  • 注意:最后一个元素的索引是:len(list_name)-1
list_name = [1,2,3,4,5]
list_name[3] = 9
print(list_name)


元素添加

  • list_name.append(new_element)
  • 把新元素附加到列表末尾。
list_name = [1,2,3,4,5]
list_name.append(6)
print(list_name)


  • list_name.insert(index,new_elemet)
  • 把新元素插到索引位置。
list_name = [1,2,3,4,5]
list_name.insert(0,5)
print(list_name)


  • list_name.extend(list_name)
  • 将列表元素(或任何可迭代的元素)添加到当前列表的末尾
list_name = [1,2,3,4]
l = list_name.copy()
l.append(5)
list_name.extend(l)
print(list_name)


元素删除

  • list_name.pop([index])
  • 删除索引位置的元素。缺省就是删除列表末尾的元素。
list_name = [1,2,3,4,5]
list_name.pop()
list_name.pop(3)
print(list_name)


  • del list_name[index]
  • del语句是删除对象的,而Python一切都是对象,所以元素也是对象,可以使用del语句删除对应索引处的元素。
  • del list_name可以删除整个列表。
list_name = [1,2,3,4,5]
del list_name[-1]
print(list_name)


  • list_name.remove(element)
  • 通过指定元素删除元素
list_name = [1,2,3,4,5]
list_name.remove(4)
print(list_name)


  • list_name.clear()
  • 清空列表元素。
list_name = [1,2,3,4]
list_name.clear()
print(type(list_name))
print(list_name)


获取长度

  • len(list_name)
  • 获取列表长度
list_name = [1,2,3,4,5]
l = len(list_name)
print(l)


列表的函数

获取索引

  • list_name.index(value):通过列表的值,返回值的索引。
list_name = [1,2,3,4,5]
index = list_name.index(2)
print(index)


复制列表

  • list_name.copy()
  • 复制列表。对复制列表的操作不影响源列表。
list_name = [1,2,3,4]
l = list_name.copy()
l.append(5)
print(list_name,l)


统计次数

  • list_name.count(value)
  • 统计value值在列表中出现的次数。
list_name = [1,2,3,4]
print(list_name.count(2))


列表排序

  • list_name.sort([reverse = True|False])
  • True:对列表进行从大到小排序
  • False:默认,对列表进行从小到大排序
  • 对列表进行排序,永久排序,影响源列表
  • reverse=True|False
list_name = [1,2,100,3,4,5]
list_name.sort()
print(list_name)
list_name.sort(reverse = True)
print(list_name)


  • sorted(list_name[,reverse = True|False])
  • True:对列表进行从大到小排序
  • False:默认,对列表进行从小到大排序
  • 此函数也为其他可迭代对象使用。
  • 对列表进行排序,暂时排序,不影响源列表
  • reverse=True|False
list_name = [1,2,100,3,4,5]
print(sorted(list_name))
print(sorted(list_name,reverse=True))
print(sorted(list_name,reverse=False))
print(list_name)


  • list_name.reverse()
  • 对列表进行排序,翻转排序,永久排序,影响源列表
list_name = [1,2,100,3,4,5]
list_name.reverse()
print(list_name)
list_name.reverse()
print(list_name)


其他函数和操作
  • range(start:end[:step])
  • 返回从start-end之间,每隔step步长的整数,range对象。
  • 使用list(range(start:end[:step]))函数可以快速创建数值列表。
  • 使用for...in...循环可以输出数值列表的元素
range_list = list(range(1,100))

print(range_list)

for r in range_list:
print(r,end='')


  • 列表生成式
  • 使用列表生成式可以快速创建新列表。
  • 列表生成式中的for...in...和if不需要:
new_list = [x**2 for x in range(1,10)]
print(new_list)

new_list = [x*y for x in list(range(1,10)) if x>2 for y in range(8,10)]
print(new_list)