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)		# 除以三的整数得数
相关推荐
devilnumber4 小时前
Java 递归算法 详解 + 核心要点 + 实战运用 + 避坑指南
java·开发语言·算法
大貔貅喝啤酒5 小时前
Python Requests库教程
自动化测试·python·requests库
copyer_xyf5 小时前
LangChain 调用 LLM
后端·python·agent
copyer_xyf5 小时前
Prompt 组织管理
后端·python·agent
asdfg12589636 小时前
JavaBean是什么?怎么理解?有什么用途?
java·开发语言
dsyyyyy11016 小时前
JavaScript变量
开发语言·javascript·ecmascript
shimly1234566 小时前
python3 uvicorn 是啥?
python
z落落7 小时前
C#WinForm 窗体切换与窗体传值(登录跳转案例)+WinForm 窗体传值(从上往下传、从下往上传)
开发语言·windows·c#
CTA量化套保7 小时前
期货量化程序 time.sleep 卡死:天勤单线程与 deadline 替代
python·区块链
allway27 小时前
How to Echo Multiline to a File in Bash [3 Methods]
开发语言·chrome·bash