python列表操作之常用练习
练习题:
1、列表操作练习
列表lst 内容如下
lst = [2, 5, 6, 7, 8, 9, 2, 9, 9]
请写程序完成下列操作:
- 在列表的末尾增加元素15
- 在列表的中间位置插入元素20
- 将列表[2, 5, 6]合并到lst中
- 移除列表中索引为3的元素
- 翻转列表里的所有元素
- 对列表里的元素进行排序,从小到大一次,从大到小一次
lst=[2, 5, 6, 7, 8, 9, 2, 9, 9] lst.append(15) #在列表的末尾增加元素15 lst.insert(round(len(lst)/2),20) #在列表的中间位置插入元素20 lst1 = [2, 5, 6] lst += lst1 #将列表[2, 5, 6]合并到lst中 lst.pop(3) #移除列表中索引为3的元素 lst.reverse() #翻转列表里的所有元素 lst.sort() #从小到大排序 lst.sort(reverse=True) #从大到小排序
2、修改列表
问题描述:
lst = [1, [4, 6], True]
请将列表里所有数字修改成原来的两倍
lst[0] =lst[0] *2 lst[1][0] = lst[1][0]*2 lst[1][1] = lst[1][1]*2 lst[2] = lst[2] * 2
3、leetcode 852题 山脉数组的峰顶索引
如果一个数组k符合下面两个属性,则称之为山脉数组
数组的长度大于等于3
存在 i i i, i i i >0 且 i < len ( k ) − 1 i<operatorname{len}(k)-1 i<len(k)−1, 使得 k [ 0 ] < k [ 1 ] < … < k [ i − 1 ] < k [ j ] > k [ i + 1 ] … > k [ len ( k ) − 1 ] mathrm{k}[0]<mathrm{k}[1]<ldots<mathrm{k}[mathrm{i}-1]<mathrm{k}[mathrm{j}]>mathrm{k}[mathrm{i}+1] ldots>mathrm{k}[operatorname{len}(mathrm{k})-1] k[0]<k[1]<…<k[i−1]<k[j]>k[i+1]…>k[len(k)−1]
这个 i i i就是顶峰索引。
现在,给定一个山脉数组,求顶峰索引。
示例:
输入:[1, 3, 4, 5, 3]
输出:True
输入:[1, 2, 4, 6, 4, 5]
输出:False
class Solution:
def peakIndexInMountainArray(self, A: List[int]) -> int:
# your code here
