字符串反转

示例:s = "hello"

方法一:使用切片

def reversed_str(s):
return s[::-1]

#### 方法二:使用reversed

# 字符串 -> 反转迭代器 -> 列表 -> 反转后的字符串
def reversed_str(s):
return "".join(list(reversed(s))) # 实际编码不要这样写,不容易理解

#### 方法三:使用reverse

def reversed_str(s):
str_list = list(s)
# 注意list.reverse()和list.sort()一样,都是就地操作没有返回值
str_list.reverse()
return "".join(str_list)

#### 方法四:使用reduce

def reversed_str(s):
from functools import reduce
# reduce的第一个参数是函数,第二个参数是序列
return reduce(lambda x, y: y+x, s)

### 列表反转

示例:lst = [1, 2, 3, 4, 5]

方法一:使用切片

def reversed_list(lst):
return lst[::-1]

#### 方法二:使用reversed

def reversed_list(lst):
return list(reversed(lst))

#### 方法三:使用reverse

def reversed_list(lst):
lst.reverse() # 就地反转
return lst

#### 方法四:使用while循环和pop

def reversed_list(lst):
reversed_lst = []
while len(lst) > 0:
reversed_lst.append(lst.pop())
return reversed_lst

补充:元组的反转与列表类似,可以使用方法一和方法二,方法三和方法四需要稍加修改,这里就不赘述了

Python可迭代序列反转总结的更多相关文章

  1. Python 中的反转字符串:reversed()、切片等

    摘要:以相反的顺序反转和处理字符串可能是编程中的一项常见任务.Python 提供了一组工具和技术,可以帮助您快速有效地执行字符串反转. 本文分享自华为云社区<Python 中的反转字符串:rev ...

  2. Python直接迭代序列比通过索引迭代序列快。

    小脚本跑一下看看时间. 原理:直接迭代序列是通过Python内置的迭代器去实现的,而如果迭代序列需要先造一个可迭代的序列出来.内置的迭代器并不是一下将所有的数据放入内存中,而是需要多少取多少. #!/ ...

  3. Python实现字符串反转的几种方法

    面试遇到的一个特无聊的问题--- 要求:在Python环境下用尽可能多的方法反转字符串,例如将s = "abcdef"反转成 "fedcba" 第一种:使用字符 ...

  4. Python中的反转字符串问题

    按单词反转字符串是一道很常见的面试题.在Python中实现起来非常简单. def reverse_string_by_word(s): lst = s.split() # split by blank ...

  5. python(leetcode)-344反转字符串

    编写一个函数,其作用是将输入的字符串反转过来.输入字符串以字符数组 char[] 的形式给出. 不要给另外的数组分配额外的空间,你必须原地修改输入数组.使用 O(1) 的额外空间解决这一问题. 你可以 ...

  6. python 链表的反转

    code #!/usr/bin/python # -*- coding: utf- -*- class ListNode: def __init__(self,x): self.val=x self. ...

  7. python栈--字符串反转,括号匹配

    栈的实现: # 定义一个栈类 class Stack(): # 栈的初始化 def __init__(self): self.items = [] # 判断栈是否为空,为空返回True def isE ...

  8. Python实现字符串反转

    将字符串 s=‘helloword’ 反转输出为 ‘drowolleh’,以下通过多种方法实现 1.字符串切片法(常用) s='helloword' r=s[::-1] print(r) #结果:dr ...

  9. python之字符串反转

    def main(): a = "abcdefg" a = a[::-1] print(a) if __name__ == '__main__': main()

随机推荐

  1. read: Connection reset by peer

    造成此种问题的原因有多种,目前列下我所遇到过的. 1, sshfs usrname@172.23.65.122:/home/usrname ./122 在ubunutu 里面使用 sshfs 命令 映 ...

  2. .net 读取xml文件

    xml 文件 <?xml version="1.0" encoding="utf-8" ?><root><name value=& ...

  3. 中间消息件之 Solace(一) Solace的简介

    什么是Solace? Solace是一家加拿大注册的公司,总部设在安大略省渥太华. 成立于2001年. 这家公司一直致力于获取信息的艺术和科学,并提供世界上最灵活,最强大的数据移动平台. 背景 在信息 ...

  4. 纯css实现单选框样式

    html代码 <h2>你最喜欢的水果</h2> <div class="input-radio"> <!-- 选中状态添加 checked ...

  5. IDEA Git回退到指定历史版本

    1.找到要回退的版本号(右击项目--> Git --> Show History -->选中要回退的版本-->Copy Revision Number): 2.打开idea的T ...

  6. Git 实习一个月恍然大悟合集

    从开始实习到现在大概有一个月了,这个月时间接触了很多新东西,其中就包括了git版本控制.分支管理等等.我在这段时间里,深深地感受到了git对公司项目代码管理和控制.团队合作带来的益处和其重要性.其实在 ...

  7. 初试spark java WordCount

    初始环境:OS X 10.10.5 准备:boot2docker 进入boot2docker后安装 docker-spark  地址: https://github.com/sequenceiq/do ...

  8. windows下一步到位搭建pycharm的开发环境

    pycharm的开发环境主要涉及到以下三个方面 pycharm的激活 这里采用破解的方式来达到永久激活的目的,因为激活码用着用着就过期的你,会发现不厌其烦的 通过测试,这个破解包适用于2017-201 ...

  9. 键盘事件 Ctrl+p 模拟(vue)

    方法定义 // 打印页面 printpage(myDiv) { // myDiv 为打印对象的id名 var newstr = document.getElementById(myDiv).inner ...

  10. hdfs 配置文件详解

    – dfs.name.dir – NameNode 元数据存放位置 – 默认值:使用core-site.xml中的hadoop.tmp.dir/dfs/name – dfs.block.size –  ...