列表创建

  1. 使用中括号创建列表
    使用中括号 “[ ]” 创建列表时,只需要在 “[ ]” 中使用逗号分隔每个元素即可。
    list_one = [] # 空列表
    list_two = ['p', 'y', 't', 'h', 'o', 'n'] # 列表中元素类型均为字符串类型
    list_three = [1, 'a', 2, 3, [10, 20, 30]] # 列表中元素类型不同
  2. 使用 list() 函数将字符串, range 对象、元组等对象转换为列表。其语法格式为 list(obj),其中 obj 为需要转换的对象。
    li_two = list('python') #字符串转换为列表
    li_three = list((1, 'python')) # 元组转换为列表

列表遍历

  1. 使用索引可以获取列表中的指定元素
list_demo01 = ["Java", "C#", "Python", "PHP"]
print(list_demo01[2])  # 访问列表中索引为2的元素
print(list_demo01[-1])  # 访问列表中索引为-1的元素
  1. 使用切片方式遍历列表元素
    使用切片可以截取列表中的部分元素,得到一个新列表。并不改变原列表的值
li_one = ["p", "y", "t", "h", "o", "n"]
print(li_one[2:])  # 获取列表中索引为2至末尾的元素
print(li_one[:3])  #获取列表中索引为0至索引值为3的元素
  1. 使用 for循环 遍历列表元素
    使用 for循环 遍历列表的方式非常简单,只需要将要遍历的列表作为 for循环表达式 中的序列即可
animal = ['elephant', 'monkey', 'snake', 'tiger']  # 创建列表animal  
for name in animal:  # 将要遍历的列表作为for循环表达式中的序列
	print(name)

列表元素的添加

  • append() 方法用于在列表末尾添加新的元素
  • extend() 方法用于在列表末尾一次性添加另一个列表中的所有元素,即使用新列表扩展原来的列表
  • insert() 方法用于将元素插入列表的指定位置
list_1 = [1, 2, 3, 4]
list_2 = ['a', 'b', 'c']
list_1.append(5)
print(list_1)  # [1, 2, 3, 4, 5]

list_1.extend(list_2)
print(list_1)  # [1, 2, 3, 4, 5, 'a', 'b', 'c']

list_1.insert(5, 'hello')
print(list_1)  #[1, 2, 3, 4, 5, 'hello', 'a', 'b', 'c']

列表元素的删除

  • del 命令用于删除列表中指定位置的元素
  • remove() 方法用于移除列表中的某个元素,若列表中有多个匹配的元素,指挥移除匹配到的第一个元素
  • pop() 方法用于移除列表中的某个元素,如果不指定具体元素,那么移除列表中的最后一个元素
list_3 = [1, 2, 3, 4, 5, 1, 2, 3]
list_3.remove(2)
print(list_3)  # [1, 3, 4, 5, 1, 2, 3]

list_3.pop(2)
print(list_3)  # [1, 3, 5, 1, 2, 3]

list_3.pop()
print(list_3)  # [1, 3, 5, 1, 2]

del list_3[1]
print(list_3)  # [1, 5, 1, 2]

del list_3  # 使用del可以删除整个列表
print(list_3)  # name 'list_3' is not defined

列表元素的修改

修改列表中的元素是通过下标获取元素并对该元素重新赋值。

names = ['Python', 'Java', 'C']  # 将索引为2的元素'C'重新赋值为'C++'  
names[2] = 'C++'
print(names)  # ['Python', 'Java', 'C++']

列表元素的排序

  • sort() 方法能够对列表原地排序
    sort(key = None, reverse = False) – key — 表示指定的排序规则
    – reverse — 表示控制列表元素排序的方式(默认升序排列)
x = [2, 5, 7, 3, 9, 10, 5, 7, 100, 50]
x.sort()  # 默认升序排列
print(x)  # [2, 3, 5, 5, 7, 7, 9, 10]

x.sort(reverse=True)  # 降序排列
print(x)  # [10, 9, 7, 7, 5, 5, 3, 2]

x.sort(key=str)  # 按照转换为字符串以后再进行升序排列
print(x)  # [10, 2, 3, 5, 5, 7, 7, 9]
  • reverse() 方法用于将列表中的元素”倒序“排列,即把原列表中的元素从右至左依次排列存放
y = ['a', 'b', 'c', 'd']
y.reverse()
print(y)  # ['d', 'c', 'b', 'a']

小测验

  1. 创建一个空列表,命名为 students,往里面添加 张三李四王五赵六 四个元素
  2. 在列表的最后添加 “钱七”
  3. 将张三修改为 ”join
  4. 创建新列表 [‘Lily’, ‘Merry’],合并到students列表
  5. 取出students列表中索引 2-5 的元素,步长为1
  6. 循环遍历列表,输出列表students中的每个元素
students = []  # 创建空列表
students.extend(['张三', '李四', '王五', '赵六'])  # 向列表添加元素
students.append('钱七')  # 在列表最后追加元素
students[0] = 'join'  # 将张三改为join
newStu = ['Lily', 'Merry']  # 创建新列表
students.extend(newStu)  # 将两个列表合并
del students[2:5]  # 删除students列表内索引2-5的元素
for name in students:  # 遍历逐个输出元素
    print(name)