little tricks(持续更新)【python】

本文介绍Python中实现字符串反转的多种方法,包括简洁的切片方式与利用列表的reverse方法。此外还展示了如何手动实现十进制到二进制及八进制的转换,并提到了Python内置的转换函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python中的list有reverse方法,但是字符串却没有,怎么办呢?

csdn博主有列了几个方法,我觉得第一个最简单直接,str[::-1]搞定。

当然也有一种怪异的方法,我把字符串转为序列reverse一下,再转回来不就好了么....

''.join(list(a_string).reverse()),估计很多人会想到这样,但运行一下报错了,为啥,因为reverse方法并不会返回逆序后的list....

那还是老老实实的建一个临时变量吧。

b = list(a)

b.reverse()

''.join(b)

还有一个很强势的eval函数,我一直被告知不要太使用这个,但没想到这个还是很强的。

我组一个字符串:

a = '3+4*5*6'

eval(a)会直接得到123,666.

就当剧透吧。

程序员的算法趣题的第二题,用这个简直了。

我自己还是在用传统的分类来去解决,结果漏了情况,死翘翘了。

不够书里面的算法看上去真的很不友好。

另外,range这个也是左闭右开。

另外,自己也写了一个十进制转化为2进制和8禁止的方法,给大家贴一下吧。

 1 def convert_two(number):
 2     '''将一个十进制的数转换为一个二进制的数'''
 3     ls = []
 4     while (number//2 != 0):
 5         ls.insert(0, str(number%2))
 6         number = number//2
 7     ls.insert(0, str(number%2))
 8     return ''.join(ls)
 9     
10     
11     
12 def convert_eight(number):
13     '''将一个十进制的数转换为一个二进制的数'''
14     ls = []
15     while (number//8 != 0):
16         ls.insert(0, str(number%8))
17         number = number//8
18     ls.insert(0, str(number%8))
19     return ''.join(ls)

比较坑的是,书中竟然告诉我,python中本来就有这个转换函数,直接调用就好,我一口老血喷了出来!

现在做了2个练习,有一些收获的都会记录下来。

-----------------------------------------------------------------------------------------下一次的分割线

转载于:https://www.cnblogs.com/onhacker/p/7759834.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值