python 刷题最基础的一些

文章目录

数组/列表(list)

获取数组长度

python 复制代码
length=len(list)

for 循环数组

python 复制代码
for i in list:
	print (i)

打出来的就是数组里的每一个数据。

for 循环数组下标

python 复制代码
for i in range(length):
	print(list[i])

在这里,假如length是3,i是0,1,2,所以需要注意。

寻找某个数据在数组里的下标

python 复制代码
index=nums[i+1:].index(numNeed)+i+1

因为是从i+1开始找的,然后用index函数获取。

字典

python 复制代码
character={
            'I':1,
            'V':5,
            'X':10,
            'L':50,
            'C':100,
            'D':500,
            'M':1000
        }
print(character['I'])
# 输出1,要用键去读

创建一个二维数组

二维数组m行n列,创建代码如下:

python 复制代码
result=[[0]*n for i in range(m)]

二维数组m行,然后是杨辉三角那种,创建代码如下:

python 复制代码
Ylist=[[0]*i for i in range(1,numRows+1)]

然后写入数据的时候,写入某行(前行后列):

python 复制代码
result[i][:]=...

读取字典

如果用 for i in ...,取出来的只是字典的key,要键值对,得用.items()。

python 复制代码
for key,value in stockItem.items():

列表(list)排序

python 复制代码
list.sort()
  • 写列表的值
    原地修改不能用「赋值 =」
    Python 里:
    nums1 = [1,2,3] → 新建一个列表,和原来的无关
    nums1[i] = x 或 nums1[:] = ... → 才是修改原数组

二分法基本思路

代码来源:来源

python 复制代码
int binarySearch(int[] nums, int target) {
    int left = 0, right = ...;

    while(...) {
        int mid = left + (right - left) / 2;
        if (nums[mid] == target) {
            ...
        } else if (nums[mid] < target) {
            left = ...
        } else if (nums[mid] > target) {
            right = ...
        }
    }
    return ...;
}

同时注意,找区间的话,

找左区间:在num[mid]<target的时候,left再往右移,相等的时候我们需要让整个区间继续往左走的。

找右区间:在num[mid]<=target的时候,left就开始往右移了,因为它的左侧并不可能是右区间。

left来的:左边界:小于target;右边界:小于等于target

python 复制代码
# 找左边界
if nums[mid] < target:    # 比目标小 → 才往右
    left = mid + 1
else:                     # >= 目标 → 都往左找
    right = mid - 1
return left               # 最后返回 left

# 找右边界
if nums[mid] <= target:   # 小于等于 → 往右
    left = mid + 1
else:                     # 大于目标 → 往左
    right = mid - 1
return right              # 最后返回 right

字符串

字符串大写变小写

python 复制代码
s=s.lower()

字符串是否是字母或者数字

python 复制代码
ss.isalnum()

拼接list的字符串

python 复制代码
result=[]
for ss in s:
    if(ss.isalnum()):
        result.append(ss)
result=''.join(result)

数字二进制化成字符串

python 复制代码
s=bin(n)

字符出现次数

python 复制代码
num=s.count('1')

其他

运算符

python 复制代码
if (n%3==0):		# 余数
if (n/3==0)			# 除以三的浮点数得数
if (n//3==0)		# 除以三的整数得数
相关推荐
ydmy几秒前
注意力机制(个人理解)
pytorch·python·深度学习
jinanwuhuaguo1 分钟前
OpenClaw工程解剖——RAG、向量织构与“记忆宫殿”的索引拓扑学(第十三篇)
android·开发语言·人工智能·kotlin·拓扑学·openclaw
Rust研习社3 分钟前
使用 Axum 构建高性能异步 Web 服务
开发语言·前端·网络·后端·http·rust
iwhitney1 小时前
【次方量化】3分钟搞懂什么是量化策略
python
高洁011 小时前
大模型部署资源不足?轻量化部署解决方案
python·深度学习·机器学习·数据挖掘·transformer
阿里云大数据AI技术2 小时前
MaxFrame 视频帧智能分析:从视频到语义向量的端到端分布式处理
人工智能·python
淘矿人2 小时前
从0到1:用Claude启动你的第一个项目
开发语言·人工智能·git·python·github·php·pygame
cany10002 小时前
C++ -- 模板的声明和定义
开发语言·c++
澈2072 小时前
深耕进阶 Day1:C 与 C++ 核心差异 + C++ 入门基石
c语言·开发语言·c++
嘻嘻哈哈樱桃2 小时前
牛客经典101题题解集--动态规划
java·数据结构·python·算法·职场和发展·动态规划