列表 list
列表 list
index
l1 = ['taibai','alex','laotan']
print(l1.index('alex')) #1
sort 给原列表排序 默认从小到大
l1 = [3,8,9,7,5,2,1,6,4]
l1.sort()
print(l1) #[1, 2, 3, 4, 5, 6, 7, 8, 9]
l1.sort(reverse=True) # 加上reverse=True从大到小
print(l1)#[9, 8, 7, 6, 5, 4, 3, 2, 1]
l1.reverse() #反转
print(l1) #[4, 6, 1, 2, 5, 7, 9, 8, 3]
列表的相加
l1 = [1,2,3]
l2 = [1,2,'taibai','laotan','nanshen']
l1.extend(l2)
print(l1 + l2) #[1, 2, 3, 1, 2, 'taibai', 'laotan', 'nanshen', 1, 2, 'taibai', 'laotan', 'nanshen']
print(l1.extend(l2)) #None
print(l1) #[1, 2, 3, 1, 2, 'taibai', 'laotan', 'nanshen', 1, 2, 'taibai', 'laotan', 'nanshen']
列表与数字相乘
l1 = [1,2,3]
print(l1*2) #[1, 2, 3, 1, 2, 3]
删除索引为奇数对应的元素
l2 = [11,22,33,44,55] #此题有坑
先分析:我们想要删除索引为奇数的,则删除22与44元素,即l2 =[11,33,44]
如果我们按照正常思路来解决,就会掉坑里
下面是正常思路
for index in range(len(l2)):
if index %2 == 1:
l2.pop(index)
print(l2) #结果为:[11, 33, 44] 并不是我们想要的
出现上次的结果是因为列表的特性:循环一次就会删除一次,删除一个元素后,后面的就会向前靠一位,就是顶替删除元素的位置举个例子
就是l1第一次删除为22元素,剩余的元素就组成l2元素即为:l2=[11,33,44,55]
在此列表中因为第一次索引为1,已经删除过了,此时索引为2的元素是44,索引为3的元素是55
所以删除55,就是l2=[11, 33, 44]。
要想得到我们想要的结果我们可以从最后面删除,具体代码为:
for i in range(len(l2)-1,-1,-1):
if i%2 == 1:
l2.pop(i)
print(l2) #[11, 33, 55]
此时l2=[11, 33, 55]就是我们想要的结果
也可以这样做
del l2[1::2]
print(l2) #[11, 33, 55]