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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

(0)

相关推荐

  • Python字符串逆序的实现方法【一题多解】

    https://www.jb51.net/article/156406.htm https://www.jb51.net/article/156407.htm 1. 使用索引 >> strA = 'abcdefg' >> strA[::-1] 'gfedcba' 2. 使用 list 的 reverse 方法 >> l = [c for c in strA] >> l.reverse() >> ''.join(l) 'gfedcba' 3. 使用

  • Python从文件中读取数据的方法讲解

    编写了一个名为learning_python.txt的文件,内容如下: [root@centos7 tmp]# cat learning_python.txt In Python you can code; In Python you can learn object; In Python you can learn class. 要求:编写一个程序,它读取这个文件并打印三次. 1.第一次打印时读取整个文件: 2.第二次打印时遍历文件对象: 3.第三次打印时将各行存储在一个列表中,再在with代

  • 强悍的Python读取大文件的解决方案

    Python 环境下文件的读取问题,请参见拙文 Python基础之文件读取的讲解 这是一道著名的 Python 面试题,考察的问题是,Python 读取大文件和一般规模的文件时的区别,也即哪些接口不适合读取大文件. 1. read() 接口的问题 f = open(filename, 'rb') f.read() 我们来读取 1 个 nginx 的日至文件,规模为 3Gb 大小.read() 方法执行的操作,是一次性全部读入内存,显然会造成: MemoryError ... 也即会发生内存溢出.

  • Python常用的json标准库

    当请求 headers 中,添加一个name为 Accept,值为 application/json 的 header(也即"我"(浏览器)接收的是 json 格式的数据),这样,向服务器请求返回的未必一定是 HTML 页面,也可能是 JSON 文档. 1. 数据交换格式 -- JSON(JavaScript Object Notation) http 1.1 规范 请求一个特殊编码的过程在 http1.1 规范中称为内容协商(content negotiation) JSON 特点

  • Python基于datetime或time模块分别获取当前时间戳的方法实例

    python的时间模块生成时间戳的方法是非常简单的,因为最近频繁用到了时间戳功能,这里简单总结了一下日常使用最为频繁的两个时间模块各自生成当前时间戳的方法,很简单,具体如下: now_time=str(datetime.datetime.now().strftime('%Y%m%d')) nowTime=str(time.strftime('%Y%m%d',time.localtime(time.time()))) print 'now_time:',now_time print 'nowTim

  • Python语言检测模块langid和langdetect的使用实例

    之前使用数据编码风格检测的模块chardet比较多一点,今天提到的两个模块是检测数据的语言类型,比如是:中文还是英文,模块的使用方法也比较简单,我这里只是简单地使用了一下,因为项目中有这个需求,所以拿来用了一下,并没有深入地去研究这两个模块,模块的地址链接我都给出来了,需要的话可以去研究下: def langidFunc(): ''' https://github.com/yishuihanhan/langid.py ''' print langid.classify("We Are Famil

  • Python实现去除列表中重复元素的方法总结【7种方法】

    这里首先给出来我很早之前写的一篇博客,Python实现去除列表中重复元素的方法小结[4种方法],感兴趣的话可以去看看,今天是在实践过程中又积累了一些方法,这里一并总结放在这里. 由于内容很简单,就不再过多说明了,这里直接上代码,具体如下: # !/usr/bin/env python # -*- coding:utf-8 -*- ''' __Author__:沂水寒城 功能: python列表去除方法总结(7种方法) ''' import sys reload(sys) import copy

  • Python基础之文件读取的讲解

    with open(filename) as fp: dataMat = [] for line in fp.readlines(): # fp.readlines()返回一个list,list of strs # 也即line类型为`str` curLine = line.strip().split('\t') # 只有`str`类型才有strip()成员函数, # 在经过split()分割,得到list类型 # 也即curLine类型为list # curLine 仍然是由字符串构成的lis

  • Python标准库使用OrderedDict类的实例讲解

    目标:创建一个字典,记录几对python词语,使用OrderedDict类来写,并按顺序输出. 写完报错: [root@centos7 tmp]# python python_terms.py File "python_terms.py", line 9 from name,language in python_terms.items(): ^ SyntaxError: invalid syntax 代码如下: from collections import OrderedDict p

  • centos6.5安装python3.7.1之后无法使用pip的解决方案

    编译安装全是坑-- 第一遍装完无法使用pip,报错找不到ssl模块.各种报错: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available. ... configure: error: Invalid --with-openssl value ... 结果各种捣鼓. 1.注意cetos6.5自带的openssl版本是1.0.1,需要升级到1.0.2

随机推荐