列表创建
- 使用中括号创建列表
使用中括号 “[ ]” 创建列表时,只需要在 “[ ]” 中使用逗号分隔每个元素即可。list_one = []
# 空列表list_two = ['p', 'y', 't', 'h', 'o', 'n']
# 列表中元素类型均为字符串类型list_three = [1, 'a', 2, 3, [10, 20, 30]]
# 列表中元素类型不同 - 使用 list() 函数将字符串, range 对象、元组等对象转换为列表。其语法格式为 list(obj),其中 obj 为需要转换的对象。
li_two = list('python')
#字符串转换为列表li_three = list((1, 'python'))
# 元组转换为列表
列表遍历
- 使用索引可以获取列表中的指定元素
list_demo01 = ["Java", "C#", "Python", "PHP"]
print(list_demo01[2]) # 访问列表中索引为2的元素
print(list_demo01[-1]) # 访问列表中索引为-1的元素
- 使用切片方式遍历列表元素
使用切片可以截取列表中的部分元素,得到一个新列表。并不改变原列表的值
li_one = ["p", "y", "t", "h", "o", "n"]
print(li_one[2:]) # 获取列表中索引为2至末尾的元素
print(li_one[:3]) #获取列表中索引为0至索引值为3的元素
- 使用 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']
小测验
- 创建一个空列表,命名为 students,往里面添加 张三,李四,王五,赵六 四个元素
- 在列表的最后添加 “钱七”
- 将张三修改为 ”join“
- 创建新列表 [‘Lily’, ‘Merry’],合并到students列表
- 取出students列表中索引 2-5 的元素,步长为1
- 循环遍历列表,输出列表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)