列表创建与删除
在Python中,和“数组”最像的东西莫过于列表(list)了。
Python中,列表用一对方括号括起来,每两个数据之间用逗号隔开。
像这样:
>>> a=[1,2,3,4,5]
>>> a
[1, 2, 3, 4, 5]
创建一个空列表:
>>> a=list()
>>> a
[]
删除一个列表(调用del功能):
>>> a=[1,2,3,4,5]
>>> del a
>>> a
NameError: name 'a' is not defined
列表对象常用的方法
方法 | 功能 |
---|---|
x.append(a) | 在列表x的末尾追加a |
x.extend(y) | 在列表x的末尾追加列表y |
x.insert(a,b) | 在列表x的a位置处插入b,并将a后面的元素向后移位; 如果a大于x的长度,则在x末尾追加a |
x.remove(a) | 在列表x中删除第一个值为a的元素,并将a后面的元素向前移位; 如果列表x中没有值为a的元素,则抛出异常 |
x.pop([a]) | 删除并返回列表x中下标(位置)为a的元素,如果不指定a则a默认为-1(即最后一个) |
x.clear() | 删除列表x中所有的元素但保留对象x(不同于del) |
x.index(a) | 返回列表x中第一个值为a的元素的索引; 如果列表x中没有值为a的元素,则抛出异常 |
x.count(a) | 返回列表x中值为a的元素的个数 |
x.reverse() | 将列表x中的所有元素进行翻转,首尾交换 |
x.sort(key,reverse) | 将列表x中的所有元素进行排序; key指定了排序规则; reverse: False:升序 True:降序 |
调用列表元素
列表名[位置]。
列表的元素储存从位置0开始,也就是说,第一个元素在[0]的位置。
《校门外的树》题解
原题目:洛谷 P1047
L,M=input().split()
L=int(L)
M=int(M)
tree=list()
for i in range(0,L+1):
tree.append(1)
for i in range(1,M+1):
a,b=input().split()
a=int(a)
b=int(b)
for i in range(a-1,b):
tree[i]=0
pass
pass
treesum=0
for i in range(0,L+1):
if tree[i]==1:
treesum+=1
pass
pass
print(treesum)