1. 列表 lst 内容如下:lst = [2, 5, 6, 7, 8, 9, 2, 9, 9]。请写程序完成下列操作:
1. 在列表的末尾增加元素15
2. 在列表的中间位置插入元素20 --->在第三个索引位插入元素20
2、修改列表
问题描述:lst = [1, [4, 6], True]。请将列表里所有数字修改成原来的两倍
3、leetcode 852题 山脉数组的峰顶索引
如果一个数组k符合下面两个属性,则称之为山脉数组。数组的长度大于等于3,存在$i$,$i$ >0 且 $i<\operatorname{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]$$。这个$i$就是顶峰索引。
现在,给定一个山脉数组,求顶峰索引。
示例:
输入:[1, 3, 4, 5, 3]
输出:True
输入:[1, 2, 4, 6, 4, 5]
输出:False
class Solution(object):
def peakIndexInMountainArray(self, A):
"""
:type A: List[int]
:rtype: int
"""
return A.index(max(A))
1. 写出下面代码的执行结果和最终结果的类型
```python
(1, 2)*2
(1, )*2
(1)*2
```
分析为什么会出现这样的结果.
2、拆包过程是什么?
```python
a, b = 1, 2
```
上述过程属于拆包吗?可迭代对象拆包时,怎么赋值给占位符?
拆包的过程是平行赋值,也就是把一个可迭代对象里的元素,一起赋值到由对应的变量组成的元组中。
上述过程属于拆包,1,2
已经定义了一个元组,与左边结构相对应,可以算作解压元组。
在可迭代对象拆包时,使用 _
(单个元素),*_
(连续多个元素) 进行占位。
1、字符串函数回顾
- 怎么批量替换字符串中的元素?
用正则表达式:这里
修改多个表的控制文件:这里
建立映射关系:这里
- 怎么把字符串按照空格进行拆分?
split() 方法可以实现将一个字符串按照指定的分隔符切分成多个子串,这些子串会被保存到列表中(不包含分隔符),作为方法的返回值反馈回来。该方法的基本语法格式如下:
str.split(sep,maxsplit)
此方法中各部分参数的含义分别是:
str:表示要进行分割的字符串;
sep:用于指定分隔符,可以包含多个字符。此参数默认为 None,表示所有空字符,包括空格、换行符“\n”、制表符“\t”等。
maxsplit:可选参数,用于指定分割的次数,最后列表中子串的个数最多为 maxsplit+1。如果不指定或者指定为 -1,则表示分割次数没有限制。
在 split 方法中,如果不指定 sep 参数,那么也不能指定 maxsplit 参数。
同内建函数(如 len)的使用方式不同,字符串变量所拥有的方法,只能采用“字符串.方法名()”的方式调用。
str = "abcderf >>> c.adetrby.net"
list1 = str.split() #采用默认分隔符进行分割
list2 = str.split('>>>') #采用多个字符进行分割
list3 = str.split('.') #采用 . 号进行分割
list4 = str.split(' ',4) #采用空格进行分割,并规定最多只能分割成 4 个子串
list5 = str.split('>') #采用 > 字符进行分割
注意,在未指定 sep 参数时,split() 方法默认采用空字符进行分割,但当字符串中有连续的空格或其他空字符时,都会被视为一个分隔符对字符串进行分割,如:
str = "abdfetbh >>> c.qwrgvdfbhg.net" #包含 3 个连续的空格
str.split()
- 怎么去除字符串首位的空格?
用 lstrip() 函数。如:
tele = ' 123212876454 '
tele.strip() #去掉字符串内所有空格
tele.rstrip() #去掉字符串右边空格
tele.lstrip() #去掉字符串左边空格
2、实现isdigit函数
题目要求
实现函数isdigit, 判断字符串里是否只包含数字0~9
```python
def isdigit(string):
"""
判断字符串只包含数字
:param string:
:return:
"""
# your code here
pass
```
3、leetcode 5题 最长回文子串
给定一个字符串 `s`,找到 `s` 中最长的回文子串。你可以假设 `s` 的最大长度为 1000。
示例:
输入: "babad"
输出: "bab"
输入: "cbbd"
输出: "bb"
用动态规划解答:动态规划
用 manacher 算法 :manacher 算法