大数协python训练营task04学习笔记

一、学习知识点概要
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=12

上述过程属于拆包吗?
不属于,未涉及元组。

可迭代对象拆包时,怎么赋值给占位符?
可迭代对象拆包时,用“ * 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很多语法跟学的别的有相似之处,希望能融会贯通吧。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值