Python可迭代序列反转总结
字符串反转
示例: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可迭代序列反转总结的更多相关文章
- Python 中的反转字符串:reversed()、切片等
摘要:以相反的顺序反转和处理字符串可能是编程中的一项常见任务.Python 提供了一组工具和技术,可以帮助您快速有效地执行字符串反转. 本文分享自华为云社区<Python 中的反转字符串:rev ...
- Python直接迭代序列比通过索引迭代序列快。
小脚本跑一下看看时间. 原理:直接迭代序列是通过Python内置的迭代器去实现的,而如果迭代序列需要先造一个可迭代的序列出来.内置的迭代器并不是一下将所有的数据放入内存中,而是需要多少取多少. #!/ ...
- Python实现字符串反转的几种方法
面试遇到的一个特无聊的问题--- 要求:在Python环境下用尽可能多的方法反转字符串,例如将s = "abcdef"反转成 "fedcba" 第一种:使用字符 ...
- Python中的反转字符串问题
按单词反转字符串是一道很常见的面试题.在Python中实现起来非常简单. def reverse_string_by_word(s): lst = s.split() # split by blank ...
- python(leetcode)-344反转字符串
编写一个函数,其作用是将输入的字符串反转过来.输入字符串以字符数组 char[] 的形式给出. 不要给另外的数组分配额外的空间,你必须原地修改输入数组.使用 O(1) 的额外空间解决这一问题. 你可以 ...
- python 链表的反转
code #!/usr/bin/python # -*- coding: utf- -*- class ListNode: def __init__(self,x): self.val=x self. ...
- python栈--字符串反转,括号匹配
栈的实现: # 定义一个栈类 class Stack(): # 栈的初始化 def __init__(self): self.items = [] # 判断栈是否为空,为空返回True def isE ...
- Python实现字符串反转
将字符串 s=‘helloword’ 反转输出为 ‘drowolleh’,以下通过多种方法实现 1.字符串切片法(常用) s='helloword' r=s[::-1] print(r) #结果:dr ...
- python之字符串反转
def main(): a = "abcdefg" a = a[::-1] print(a) if __name__ == '__main__': main()
随机推荐
- 应用安全 - 社工 - 大数据 - Fofa - 汇总
搜索语法 title=”abc” header=”abc” body=”abc” domain=”xx.com” host=”.xx.cn” port=”443” ip=”1.1. ...
- Identification of Encryption Algorithm Using Decision Tree
本文主要做了两件事,一是提出了一种使用C4.5算法生成的决策树来识别密文所使用的加密算法的方法,二是为这一算法设计了一个特征提取系统提取八个特征作为算法的输入,最终实现了70%~75的准确率. 准备工 ...
- (转)python基础学习-----生成器和迭代器
在Python中,很多对象都是可以通过for语句来直接遍历的,例如list.string.dict等等,这些对象都可以被称为可迭代对象.至于说哪些对象是可以被迭代访问的,就要了解一下迭代器相关的知识了 ...
- Flash-aware Page Replacement Algorithm
1.Abstract:(1)字体太乱,单词中有空格(2) FAPRA此名词第一出现时应有“ FAPRA(Flash-aware Page Replacement Algorithm)”说明. 2.in ...
- CDH安装前系统优化准备
参考: https://www.cnblogs.com/yinzhengjie/p/10367447.html https://www.sysit.cn/blog/post/sysit/CDH6.2. ...
- Elasticsearch-如何识别一篇文档
ES-识别文档 为了识别同一个索引中的某篇文档,ES使用_uid中的文档类型和ID结合体._uid字段是由_id和_type字段组成,当搜索或者检索文档的时候总是能获得这两项信息. FengZhend ...
- GS7 安装使用Oracle19c 客户端的说明
1. 最近Oracle放出了 windows版本的oracle19c的安装文件(具体时间不详, 自己知道的时候比较晚了) 2. 发现文件其实比较多如图示: 3. 经过自己测试实现发现 不能使用 如下 ...
- 【Python】【基础知识】【内置函数】【help的使用方法】
原英文帮助文档: help([object]) Invoke the built-in help system. (This function is intended for interactive ...
- 自己总结的keepalived的配置流程以及注意事项
编写背景:上班时领导要求我们团队实现postgresql主备切换的高可用问题,我辅助keepalived的部分,从查资料到实施最后使用,最后编写了这个博客,水平有限,欢迎大家指正 ###postgre ...
- mysql语法难点
select * from emp where comm is null or comm=0;/*没有提成的员工*/ 查询有提成的员工所有信息 select * from emp where comm ...