python
文章平均质量分 73
公众号-测试生财
分享各类测试技术和资源,请关注微信公众号:测试生财。
展开
-
ModuleNotFoundError: No module named ‘_ctypes‘
背景在安装Python3的时后,报错:ModuleNotFoundError: No module named '_ctypes'。网上搜了一下,原因是缺乏libffi这个库。libffi简介官网:http://sourceware.org/libffi/简介:the default, most-widely used implementation of thePythonprogramming language uses libffi in the standardctypes...原创 2021-03-30 07:46:19 · 5389 阅读 · 2 评论 -
Linux下升级python3到python3.8
背景最近要使用django开发测试平台,指定了Python3.8作为Python开发环境,而Linux系统上自带的Python版本为Python3.5,因此需要做下Python版本升级。升级过程1)下载Python3.8安装包wgethttps://www.python.org/ftp/python/3.8.2/Python-3.8.2.tar.xz2)解压缩xz -dPython-3.8.2.tar.xztar xvfPython-3.8.2.tar3)配置./c...原创 2021-03-25 08:03:46 · 1803 阅读 · 0 评论 -
python中使用charset判断字符串编码
背景 Python中的字符串编码算是让人头疼的事情。在web开发中,用户输入的字符串通过前端直接透传过来,如果是一些比较奇怪的字符,可能就涉及到Python的编解码转换了。Python自身提供了str和bytes之间的转换,可以通过encode()和decode()函数进行转换,但是比较麻烦的一点是,我们首先要要知道其编码方式,然后才能知道如何对其进行编解码。经过网上搜索得知python有一个charset库,专治此类编码不解之谜。简介项目地址:https://github.com/chard原创 2021-03-22 07:45:31 · 1126 阅读 · 0 评论 -
python转换json字符串中的布尔值
背景http的post和put请求中,一般都需要传递body,用于表单提交或者表单修改。如果我们使用python的requests库,大概会类似使用如下语法:requests.post(url, data=data, headers=headers)问题如果data是一个json字符串:{"is_ok": True},此时我们如何将其转换为标准的json字符串:'{"is_ok": true}'从True到true的转换可能有多重方式在,这里介绍一个比较取巧的方法:实现过程假设:原创 2021-03-19 07:50:46 · 3043 阅读 · 0 评论 -
测试面试LeetCode系列:宝石与石头
题目 给定字符串J代表石头中宝石的类型,和字符串S代表你拥有的石头。S中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。J中的字母不重复,J和S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。示例 1:输入: J = "aA", S = "aAAbbbb" 输出: 3示例 2:输入: J = "z", S = "ZZ" 输出: 0注意:S和J最多含有50个字母。 J中的字符不重复。思路...原创 2021-01-08 08:32:24 · 126 阅读 · 0 评论 -
测试面试LeetCode系列:字符串的左旋转
题目字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。示例 1:输入: s = "abcdefg", k = 2 输出:"cdefgab"示例 2:输入: s = "lrloseumgh", k = 6 输出:"umghlrlose"限制:1 <= k < s.length <= 10000来源:L...原创 2020-12-23 08:53:13 · 130 阅读 · 0 评论 -
测试面试LeetCode系列:按既定顺序创建目标数组
题目给你两个整数数组nums和index。你需要按照以下规则创建目标数组:目标数组target最初为空。 按从左到右的顺序依次读取nums[i]和index[i],在target数组中的下标index[i]处插入值nums[i]。 重复上一步,直到在nums和index中都没有要读取的元素。请你返回目标数组。题目保证数字插入位置总是存在。示例 1:输入:nums = [0,1,2,3,4], index = [0,1,2,2,1...原创 2020-12-22 08:49:58 · 138 阅读 · 0 评论 -
测试面试LeetCode系列:IP地址无效化
题目给你一个有效的 IPv4 地址address,返回这个 IP 地址的无效化版本。所谓无效化IP 地址,其实就是用"[.]"代替了每个 "."。示例 1:输入:address = "1.1.1.1"输出:"1[.]1[.]1[.]1"示例 2:输入:address = "255.100.50.0"输出:"255[.]100[.]50[.]0"来源:力扣(LeetCode)链接:https://leetcode-cn.com/proble...原创 2020-12-18 08:43:02 · 203 阅读 · 0 评论 -
测试面试LeetCode系列:二进制链表转整数
题目给你一个单链表的引用结点head。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。请你返回该链表所表示数字的 十进制值 。示例 1:输入:head = [1,0,1]输出:5解释:二进制数 (101) 转化为十进制数 (5)示例 2:输入:head = [0]输出:0示例 3:输入:head = [1]输出:1示例 4:输入:head = [1,0,0,1,0,0,1,1,1,0,...原创 2020-12-17 09:13:41 · 113 阅读 · 0 评论 -
python进行数组合并的方法
python的数组合并在算法题中用到特别多,这里简单总结一下:假设有a1和a2两个数组:a1=[1,2,3]a2=[4,5,6]合并方式1. 直接相加#合并后赋值给新数组a3a3 = a1 + a22. extend#调用此方法,a1会扩展成a1和a2的内容a1.extend(a2)3. 列表表达式#先生成新的二维数组a3 = [a1, a2]#列表推导形成新的数组a4 = [ y for a in a3 for y in a ]合并性能下面.原创 2020-12-14 08:51:24 · 3079 阅读 · 1 评论 -
python字符串遍历方式
前言很多面试题里都有关于字符串相关的算法,这里简单总结一下python的字符串遍历。遍历方式python的字符串遍历有三种方式:1. 下标法2. for in3. iter内置函数4. enumerate其中下标法和enumerate适合需要判断后续字符的场景,比如循环到下标index出,要求判断index+1的字符这种。最典型的题目就是语法解析器,判断"(())"这种成对的括号的算法。"for in"和iter适合对字符进行直接处理的一类题目,比如大小准换,字符串对比之原创 2020-12-08 08:49:43 · 653 阅读 · 2 评论 -
测试面试LeetCode系列:一维数组的动态和
每日一刷的LeetCode题目又来了,寒冬之下,助你拿一个大厂的测开offer给你一个数组 nums 。数组「动态和」的计算公式为:runningSum[i] = sum(nums[0]…nums[i]) 。请返回 nums 的动态和。示例 1:输入:nums = [1,2,3,4]输出:[1,3,6,10]解释:动态和计算过程为 [1, 1+2, 1+2+3, 1+2+3+4] 。示例 2:输入:nums = [1,1,1,1,1]输出:[1,2,3,4,5]解释:动.原创 2020-12-07 08:57:51 · 217 阅读 · 0 评论