容器
生活中,容器指的是可以容纳物品的收纳器,在程序中,容器是一种可以把多个元素放在一起的数据结构,容器中的元素可以逐个地迭代获取,可以用in, not in等关键字判断某个元素是否包含在容器中。
在Python中,包括列表(list)、元组(tuple)、字典(dict)、集合(set)等,他们都可以放入多个元素,因此都可以算作是容器,这些容器是Python编程中非常重要的数据结构。
list
列表(list)是一种有序的容器,放入list中的元素,将会按照一定顺序排列。构造list的方法非常简单,使用中括号[]把需要放在容器里面的元素括起来,就定义了一个列表。
比如列出所有同学们的成绩:
scores = [45, 60, 75, 86, 49, 100]
列出所有同学们的名字:
names = [‘Alice’, ‘Bob’, ‘David’, ‘Ellena’] # 注意,字符串元素仍需要引号
正如我们看到的,list可以放入数字、字符串等数据类型,list不对放入其中的类型进行判断,也就是说,list可以同时放入任意类型的数据,这是Python这门语言决定的,因为Python是动态语言。
L = [‘Alice’, 66, ‘Bob’, True, ‘False’, 100]
对于list,我们可以直接把list的内容打印出来。
L = [‘Alice’, 66, ‘Bob’, True, ‘False’, 100]
print(L)
任务
1、Alice同学某次考试语文(Chinese)、数学(Math)、英语(English)三科的成绩分别是92、75、99,请使用list保存这些数据。
注意:科目和成绩属于不同的数据类型。
L = [‘Alice’, ‘Chinese’, 92, ‘Math’, 75, ‘English’, 99]
print(L)
- Python按顺序访问list
请使用迭代的方式按顺序输出列表 L = [‘Alice’, 66, ‘Bob’, True, ‘False’, 100] 的偶数位置的元素
num = 0
L = ['Alice', 66, 'Bob', True, 'False', 100]
for item in L:
num = num + 1
if num % 2 != 0:
continue
print(item)
<hr>
- Python按索引访问list
列表和字符串一样,也支持切片,通过切片的方式,获取到列表的子列表。
names = ['Alice', 'Bob', 'David', 'Ellena']
sub_names = names[0:2]
print(sub_names)
- Python倒序访问list
names = [‘Alice’, ‘Bob’, ‘David’, ‘Ellena’]
对于names列表,Ellena的名字排在最后,也就是我们所说的倒数第一个,在Python中,可以使用-1来表示最后一个元素。
names = [‘Alice’, ‘Bob’, ‘David’, ‘Ellena’]
print(names[-1]) # ==> Ellena - Python向list添加新的元素
insert():需要两个参数,分别是需要插入的位置,以及需要插入的元素;
append():将元素添加到list的尾部。
班上已有同学[‘Alice’, ‘Bob’, ‘Candy’, ‘David’, ‘Ellena’],新来报到3名同学分别是’Zero’, ‘Phoebe’, ‘Gen’,请综合利用append()方法,insert()方法,把三个同学的名字按首字母顺序插入到列表里去。
L = ['Alice', 'Bob', 'Candy', 'David', 'Ellena']
L.append('Zero')
L.insert(5, 'Phoebe')
L.insert(5, 'Gen')
print(L)
- Python从list删除元素
pop():默认删除列表的最后一个元素,并返回。除了可以删除最后一个元素以外,pop()还可以接收一个参数,指定需要删除的元素的位置
L = ['Alice', 'Bob', 'Candy', 'David', 'Ellena']
name = L.pop()
print(name) # ==> Ellena
print(L) # ==> L = ['Alice', 'Bob', 'Candy', 'David'];;;;;;;;;;;
L = ['Alice', 'Bob', 'Candy', 'David', 'Ellena']
name = L.pop(2)
print(name) # ==> Candy
print(L) # ==> ['Alice', 'Bob', 'David', 'Ellena']
- Python替换list中的元素
对于列表,除了可以向列表添加元素,删除列表元素以外,列表已有的元素,也是可以修改的,通过索引指定位置,并赋值新的元素,即可替换列表中原有的元素。
L = ['Alice', 'Bob', 'Candy', 'David', 'Ellena']
L[0] = 'Ellena'
L[1] = 'Alice'
L[2] = 'Candy'
L[3] = 'David'
L[4] = 'Bob'
print(L)
- Python二维list
有三个长方体,他们的长宽高分别是[1, 2, 3], [5, 3, 2], [7, 3, 2],定义在数组L中,L = [[1, 2, 3], [5, 3, 2], [7, 3, 2]],请分别求出三个长方体的表面积。
L = [[1,2,3], [5, 3, 2], [7,3,2]]
for cube in L:
length = cube[0]
width = cube[1]
height = cube[2]
result = length * width * 2 + width * height * 2 + length * height * 2
print(result)