Python实现字符串逆序输出功能示例

yipeiwu_com6年前Python基础

本文实例讲述了Python实现字符串逆序输出功能。分享给大家供大家参考,具体如下:

1、有时候我们可能想让字符串倒序输出,下面给出几种方法

方法一:通过索引的方法

>>> strA = "abcdegfgijlk"
>>> strA[::-1]
'kljigfgedcba'

方法二:借组列表进行翻转

#coding=utf-8
strA = raw_input("请输入需要翻转的字符串:")
order = []
for i in strA:
 order.append(i)
order.reverse()  #将列表反转
print ''.join(order)  #将list转换成字符串

执行结果:

请输入需要翻转的字符串:abcdeggsdd
ddsggedcba

2、分别输出字符串中奇数坐标和偶数坐标的字符

最简单的方法是根据序列的切片来实现。

>>> str_a = "1a2b3c4d5e6f"
***输出奇数位的字符***
>>> for i in str_a[::2]:
...  print i,
...
1 2 3 4 5 6
***输出偶数位的字符***
>>> for j in str_a[1::2]:
...  print j,
...
a b c d e f

当然我们也可以使用下面的方法实现,但是这种方法就比较麻烦了。

#coding=utf-8
def oddEven(strA):
 odd = []
 even = []
 for i in range(len(strA)):
  if i % 2 == 0:
   even.append(strA[i])
  else :
   odd.append(strA[i])
 print "偶数项:", ''.join(even)
 print "奇数项:", ''.join(odd)
strA = "1a2b3c4d5e6f7g8h9j"
print "原字符串:", strA
oddEven(strA)

执行结果:

原字符串: 1a2b3c4d5e6f7g8h9j
偶数项: 123456789
奇数项: abcdefghj

值得注意的是:

在我们平常的编程过程中,一定要避免直接使用编程语言的关键字作为变量名,尤其是Python语言中几乎所有的对象都可以赋值,如果将系统环境给的变量赋值经常会造成很多奇怪的问题,所以一定要养成好的编程习惯。

最典型一个就是关于isinstance()函数的报错,代码写的是没有问题,但是就是会报错,说明在这代码之前str肯定被当着变量赋过值。

>>> a = '123'
>>> isinstance(a, str)
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
TypeError: isinstance() arg 2 must be a class, type, or tuple of classes and types

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python字符串操作技巧汇总》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》及《Python入门与进阶经典教程》。

希望本文所述对大家Python程序设计有所帮助。

相关文章

对Python的交互模式和直接运行.py文件的区别详解

看到类似C:\>是在Windows提供的命令行模式,看到>>>是在Python交互式环境下。 在命令行模式下,可以执行python进入Python交互式环境,也可...

20行python代码实现人脸识别

20行python代码实现人脸识别

OpenCV 是最流行的计算机视觉库,原本用 C 和 C++ 开发,现在也支持 Python。 它使用机器学习算法在图像中搜索人的面部。对于人脸这么复杂的东西,并没有一个简单的检测能对...

Python读取properties配置文件操作示例

本文实例讲述了Python读取properties配置文件操作。分享给大家供大家参考,具体如下: 工作需要将Java项目的逻辑改为python执行,Java的很多配置文件都是.prope...

python实现单线程多任务非阻塞TCP服务端

本文实例为大家分享了python实现单线程多任务非阻塞TCP服务端的具体代码,供大家参考,具体内容如下 # coding:utf-8 from socket import * #...

Django ORM 常用字段与不常用字段汇总

Django ORM 常用字段与不常用字段汇总

常用字段 AutoField: int 自增列,必须填入参数 primary_key=True 如果没有写 AutoField,则会自动创建一个列名为 id 的列 from dja...