一、学习知识点概要
1.列表
2.元组
3.字符串
二、学习内容
三、学习问题与解答
(一)列表操作练习
列表Ist内容如下
Ist =[2,5,6,7,8,9,2,9,9]
请写程序完成下列操作:
1.在列表的末尾增加元素15
Ist =[2,5,6,7,8,9,2,9,9]
Ist.append(15)
print(Ist)
#[2, 5, 6, 7, 8, 9, 2, 9, 9, 15]
2.在列表的中间位置插入元素20
Ist =[2,5,6,7,8,9,2,9,9]
Ist.insert(4,20)
print(Ist)
#[2, 5, 6, 7, 20, 8, 9, 2, 9, 9]
3.将列表[25,6]合并到lst中
(1)首尾拼接
Ist =[2,5,6,7,8,9,2,9,9]
list=[25,6]
print(Ist+list)
#[2, 5, 6, 7, 8, 9, 2, 9, 9, 25, 6]
(2)用append添加
Ist =[2,5,6,7,8,9,2,9,9]
Ist.append(6)
print(Ist)
Ist.append(25)
print(Ist)
#[2, 5, 6, 7, 8, 9, 2, 9, 9, 6]
#[2, 5, 6, 7, 8, 9, 2, 9, 9, 6, 25]
4.移除列表中索引为3的元素
Ist =[2,5,6,7,8,9,2,9,9]
Ist.remove(7)#索引为3的数字是7
print(Ist)
#[2, 5, 6, 8, 9, 2, 9, 9]
5.翻转列表里的所有元素
Ist =[2,5,6,7,8,9,2,9,9]
print(Ist[::-1])
#[9, 9, 2, 9, 8, 7, 6, 5, 2]
6.对列表里的元素进行排序,从小到大一次,从大到小一次
Ist =[2,5,6,7,8,9,2,9,9]
Ist.sort(reverse=1)#1表示降序
print(Ist)
Ist.sort(reverse=0)#0表示升序
print(Ist)
#[9, 9, 9, 8, 7, 6, 5, 2, 2]
#[2, 2, 5, 6, 7, 8, 9, 9, 9]
2、修改列表问题描述
Ist =[1,[4,6],True]
请将列表里所有数字修改成原来的两倍
lst=[1,[4,6],True]
print(lst)
lst[0]=lst[0]*2
lst[1][0]=lst[1][0]*2
lst[1][1]=lst[1][1]*2
lst[2]=lst[2]*2
print(lst)
#[1, [4, 6], True]
#[2, [8, 12], 2]
3、leetcode 852题山脉数组的峰顶索引
如果一个数组k符合下面两个属性,则称之为山脉数组数组的长度大于等于3
存在i,i>0且i<len(k)-1,使得
k[0] < k[1] <.…< k|i - 1] < k[i] > ki + 1]…> k[len(k)- 1]这个就是顶峰索引。
现在,给定一个山脉数组,求顶峰索引。
示例:
输入:[1,3,4,5,3]
输出:True
输入:[1,2,4,6,4,5]
输出:False
class solution:
def peakIndexInmountainArray(se1f,A: List[int])-> int
# your code here
(二)元组
1.元组概念
写出下面代码的执行结果和最终结果的类型
(1,2)*2
(1,)*2
(1)*2
执行结果 2
分析为什么会出现这样的结果
a=(1,2)*2
b=(1,)*2
c=(1)*2
print(a)
print(b)
print(c)
#(1, 2, 1, 2)
#(1, 1)
#2
2.拆包过程是什么?
拆包: 对于函数中的多个返回数据, 去掉元组, 列表或者字典,直接获取里面数据的过程.
a,b=1,2
上述过程属于拆包吗?
不属于,未涉及元组。
可迭代对象拆包时,怎么赋值给占位符?
可迭代对象拆包时,用“ * rest”或者 “* -”来代替不需要的元素。
(三)字符串
1.字串数回顾
(1)怎么批量替换字符串中的元素?
用replace(old,new[,max])批量替换字符串中的元素。
(2)怎么把字符串按照空格进行拆分?
用不带参数的split(str="",num)把字符串按照空格进行拆分。
(3)怎么去除字符串首位的空格?
lstrip([chars])用以删除字符串左侧的空格。
rstrip([chars])用以删除字符串末尾的空格。
strip([chars])在字符串上执行lstrip()和rstrip()。
2.实现isdigit函数
题目要求
实现函数isdigit,判断字符串里是否只包含数字0-9
def isdigit(string):
""""
判断字符串只包含数字
:param string:
:return:
# your code here
g=input("please input a string:")
def isdigit(string):
l=string.isnumeric()
if l==True:
print("yes")
else:
print('no')
isdigit(g)
3.leetcode 5题:
最长回文子串
给定一个字符串s,找到s中最长的回文子串。你可以假设s的最大长度为1000。
示例:
输入:"babad”
输出:“bab”
输入:“cbbd”
输出:"bb*
class Solution:
def 1ongestpalindrome(se1f,s:str)-> str:
# your code here
四、学习思考与总结
1.最后一道题最长回文子串还没想出来,还有山脉数据的题目也还不会。
2.前面的列表感觉相对简单好玩一点。
3.很多知识还需要看题做题,通过实操巩固。
4.发现python很多语法跟学的别的有相似之处,希望能融会贯通吧。