python之字符串逆序
1.贴题
题目来自PythonTip
给你一个字符串 a, 请你输出逆序之后的a。
例如:a=‘xydz’
则输出:zdyx
2.说明
思路基本分为两种,
一是编写循环,每次取字符串的一个字符,从后往前取,可以直接输出,也可以添加到新字符串最后一起输出。
二是利用切片,一行代码完成。
3.参考代码
1.循环方法
2.切片方法
4.其他写法
1.先把字符串转化为列表,然后倒序,再循环输出
2.创建新的空字符串,循环将每一个字符添加到现有字符串的最前面,最后输出
3.同样一行搞定的其他写法之一:先反转再连接
4.之二:先逆向排序再连接(如果题目给出的字符串不是有序的,此代码会出错)
5.注意点和坑
因为PythonTip只支持python2,所以使用print函数里面如果带了sep或者end的参数会报错,解决方法是在最前面加上
以为这个会错,结果执行了一下发现是对的。因为虽然字符串是不可变的,不能改变某一个字符,但是重新赋值是可以的。
6.继续探究
1.关于切片的逆序输出
先考虑以下代码的输出是什么
考虑好了看答案
所以如果要进行逆序输出可以有很多种写法,上面的四种写法中除了第三种都可以正确输出。
原因其实是python有两种索引方法,一种是0开始的正数索引,另一种是-1开始的复数索引,只要采用其中任何一套索引都可以完成切片行为。
拓展知识
python六种基本数据类型比较
总结
去重用set
字典内无序排列,按key访问
可变就不可哈希,不可变就可哈希
领取专属 10元无门槛券
私享最新 技术干货