Day3:
列表的含义:由一系列按一定顺序排列的元素组成,可以有任何东西,数字、字母、字符串,元素之间可以没有任何关系。用[]表示,用逗号隔开。
nums=[6,4,3,2,5,9]
heros=[“蜘蛛侠”,”钢铁侠”,”绿巨人”,”雷神”](单双引号皆可)
print(heros) ——>[‘蜘蛛侠’, ‘钢铁侠’, ‘绿巨人’, ‘雷神’]
打印的列表带[]。
列表的索引从0开始,即第一个元素的标号是0。
nums[0:3] #即列表里的6,4,3,2
nums[:] #列表所有
print(heros[2])——>绿巨人
print(heros[-1])——>雷神;#-1返回最后一个元素,空列表用-1会报错
print(nums[0:3])——>6,4,3,2
直接赋值要修改的地方。如将绿巨人改成黑寡妇:
heros[2]=”黑寡妇”
print(heros) ——>[‘蜘蛛侠’, ‘钢铁侠’, ‘黑寡妇’, ‘雷神’]
nums[3:]=[3,3,0] #修改列表中多个元素
print(nums) ——>[6,4,3,3,3,0]
① 在列表末尾添加:append()
heros.append(‘灭霸’)
print(heros) ——>[‘蜘蛛侠’, ‘钢铁侠’, ‘绿巨人’, ‘雷神’,‘灭霸’]
② 在列表中插入元素:insert(),任意位置
heros.insert (1,‘灭霸’) #在第一个元素后面插入灭霸
print(heros) ——>[‘蜘蛛侠’,‘灭霸’, ‘钢铁侠’, ‘绿巨人’, ‘雷神’]
③ 在列表末尾添加多个元素:extend()
nums.extend([1,3,2])
print(nums) ——>[6,4,3,2,5,9,1,3,2]
① 使用del语句删除:知道索引,del可以删除任何位置的列表元素
del heros[0]
print(heros) ——>[‘钢铁侠’, ‘绿巨人’, ‘雷神’]
② 使用pop删除元素或者弹出列表中任何位置处元素
popped_hero=heros.pop() #无索引时,删除列表中最后一个元素
print(heros) ——>[“蜘蛛侠”,”钢铁侠”,”绿巨人”]
print(popped_hero) ——>雷神 #被删除元素还可接着使用
popped_hero=heros.pop(1) #有索引时,删除索引位置元素
print(heros) ——>[‘蜘蛛侠’,‘绿巨人’,‘雷神’]
区分del和pop:当删除元素并不再使用,用del;当删除元素并还要继续使用它,用pop。
③ 根据值删除元素:remove()
heros.remove(‘钢铁侠’)
print(heros) ——>[‘蜘蛛侠’,‘绿巨人’,‘雷神’]
若有重复元素,remove则只删除第一个指定值,若要都删,要用循环判断。
④ 清空列表:clear()
heros.clear()
① 用sort()对列表永久性排序
nums.sort() #从小到大排列,字母也同理
② 倒着排列列表:reverse():
它只是反转列表排列顺序,如将最后一个与第一个元素进行调换,而非自主按数字从大到小、字母从大到小排。这与sort()不同。
要实现从大到小要借助sort(),以下两种等价:
nums.sort(reverse=True) #第一种,一句搞定
nums.sort() #第二种,先正再反
nums.reverse()
③ 对列表进行临时排序:sorted()
保留列表元素原来排列顺序,同时以特定方式呈现它们。
print(sorted(nums)) ——>[2,3,4,5,6,9]
print(nums) ——> [6,4,3,2,5,9]
sorted()也可传递参数reverse=True
print(sorted(nums,reverse=True)) ——> [9,6,5,4,3,2]
④ 确定列表长度:len()
len(heros) ——>4
① 查找某元素出现次数:count()
nums.count(6) ——>1
② 查某元素索引位置:index(),有相同元素时返回第一个出现的位置
nums.index(6) ——>0
nums.index(6,0,2) ——>0 #后面的0,2是限定的查询范围,前面的6为查询的元素,同样输出第一个出现的位置
s=[1,2,3] t=[4,5,6]
s+t——>[1,2,3,4,5,6]
s*3——>[1,2,3,1,2,3,1,2,3]