- 博客(9)
- 资源 (1)
- 收藏
- 关注
原创 在排序数组中查找元素的第一个和最后一个位置 Python
本题的思路是在二分查找的基础上在找到位置处向左右进行查找,如果左右仍然存在与target目标值相同的数,则记录下他们的下标到index1中,最终的index1中存放有所有与target目标值相同的元素,此时排序过后输出index1[0]和index1[len(index1)-1]就是重复元素出现的第一个位置和最后一个位置。输入:nums = [5,7,7,8,8,10], target = 8。输入:nums = [5,7,7,8,8,10], target = 6。输出:[-1,-1]
2023-05-29 16:06:01
412
1
原创 Python判断一个变量是否存在
在调用一个变量的时候,如果这个变量没有被定义,那么python会报错。要解决的方法也很简单,就是事先给变量赋一个空值。但是也可以通过调用系统的内置函数来判断一个变量名是否已经被定义了。有3个内置函数都可以实现。变量test暂时还没有定义,返回Falseres1 = 'test1' in locals().keys()res2 = 'test1' in dir()res3 = 'test1' in vars().keys()res1, res2, res3变量test已经被定义了,返回Tru
2021-03-29 17:40:38
6262
转载 Python字典为什么快?为什么是无序的?
最近在看Python数据结构,对字典有了新的认识,mark一下。 Python的数据类型,以列表和字典的使用最为广泛,其中列表以其强大的增删改查,备受人们的青睐,我个人也特别喜欢列表。但当列表数据过多时,需要查询第n个数据,其性能则为O(n),此时字典就登场了,以其强大的底层...
2021-03-29 13:06:55
1127
原创 set高级函数
set:无序、无重复的元素集合a = {1,2,3,4}b = {2,3,4,5}1、 交集print(a.intersection(b))print(a & b)结果:{2, 3, 4}2、 并集print(a.union(b))print(a | b)结果:{1,2,3,4,5}3、 差集print(a.difference(b))print(a - b)结果:{1}4、 对称差集:取两者之间的差集合print(a.symmetric_difference(b))
2021-03-27 21:38:03
157
原创 Python格式化字符串的简单方法
python有三种格式化字符串的方式:%-格式化str.format()f-String,超级好用1、%-格式化name = "jack"age = 18print("hello, %s, you are %s ?" %(name, age))2、str.format()## str.format()# 替换字段用大括号进行标记print("hello, {}, you are {}" .format(name, age))# 通过索引来以其他顺序引用变量print("hel
2021-03-27 21:36:50
213
原创 sorted排序函数用法
sorted函数用于对数据排序sorted(iterable[,key][,reverse])iterable: 必选,待排序的集合,可以是list、tuple、set、dict等reverse:可选,默认是False升序排列,如果为True则降序排列key:可选,这是一个函数,返回一个key,用于排序的比较注意:sorted函数不会修改原始列表,而是会返回新的列表体会一下key:这是一个函数输入:集合的每个元素返回:用于排序对比的值1、简单排序# 简单的升序排序sorted
2021-03-27 21:30:50
8881
原创 python的几个常用高级函数
介绍几个较为常用的高级函数:Counter:计数器defaultdict:带默认值的字典map、reduce、filter:针对序列操作的函数groupby:类似SQL中groupby的聚合函数(但只会相邻相同元素聚合)1、Counter 计数器Counter(计数器):用于追踪值的出现次数,Counter类继承dict类,所以它能使用dict类里面的方法。对iterable进行计数:import collectionscounter = collections.Counter(['a
2021-03-27 21:29:05
816
原创 python列表推导式、集合推导式、字典推导式
1、列表推导式列表推导式:列表推导式提供了一种简洁的方法创建列表优势:代码更加简洁、更加清晰、更加易读注意:当写出来的代码变得复杂,那就别使用列表推导式来了。1.1、如果不用列表推导式,怎么从列表推导式数据创建一个新的列表?# 计算0到9所有偶数平方squares = []for x in range(10): if x%2 == 0: squares.append(x**2)print(squares)# 结果:[0, 4, 16, 36, 64]1.2
2021-03-25 00:18:02
339
原创 python的5个小技巧
1、 python的交互式shell在交互界面执行脚本时加上“-i”选项,会出现命令交互行,在此可执行脚本中的函数进行调试,执行exit()退出。2、 PDB调试器在需要执行断点的地方输入命令: import pdb pdb.set_trace()执行脚本,会跳出交互命令行,输入“s”进入add函数输入“n”执行下一行执行print打印参数输入“q”退出PDB调试器常用命令:3、 虚拟环境virtualenv首先pip安装virtualenv包virtualenv new
2021-03-22 22:10:43
235
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人