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 → 新建一个列表,和原来的无关
    nums1i = 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 ...;
}

同时注意,找区间的话,

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

找右区间:在nummid<=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)		# 除以三的整数得数
相关推荐
2zcode23 分钟前
基于MATLAB深度学习的乳腺钼靶影像乳腺癌智能诊断系统设计与实现
开发语言·深度学习·matlab·乳腺癌
MoonBit月兔26 分钟前
错过大赛报名?MoonBit 开源大赛- 8 月黑客松正式开启
开发语言·ai-native·moonbit
小猴子爱上树28 分钟前
一站式解决图片视频翻译难题的高效AI工具
人工智能·python·音视频
weixin_5386019742 分钟前
智能体测开Day31
开发语言·python
lbb 小魔仙1 小时前
Git + Python 项目工作流最佳实践:pre-commit、CI、CHANGELOG 自动化
git·python·ci/cd
dyxal1 小时前
最长公共子序列(LCS)
python·算法
geovindu1 小时前
java: Facade Pattern
java·开发语言·后端·外观模式·结构型模式
listening7771 小时前
HarmonyOS 6.1 元服务深度优化:从“秒开”到“常驻”的极致体验
java·开发语言·spring
布朗克1681 小时前
Go 入门到精通-29-测试与基准
开发语言·后端·golang·测试与基准
你驴我1 小时前
WhatsApp Cloud API 速率限制下的令牌桶与退避策略实践
网络·后端·python