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()
随机推荐
- configparser模块 subprocess 模块,xlrd 模块(表格处理)
今日内容: 1.configparser模块 2.subprocess模块 3.xlrd(读),xlwt(写) 表格处理 configparser模块 import configparser # co ...
- kindeditor-4.1.7
<script src="~/Scripts/jquery-1.10.2.min.js" type="text/javascript"></s ...
- mysql常用排查命令
1.查看服务器使用状态 mysqladmin -uroot -p -S /tmp/mysql.sock -r -i 1 ext |\ awk -F"|" \ "BEGIN ...
- DNS 域名系统与邮件服务器
目录 DNS 域名系统 定义 域名分类 解析流程 DNS分类 资源记录 格式 资源记录类型 用bind搭建一台DNS服务器 安装bind 创建自己的zone文件 在主配置文件中,增加自己的zone 检 ...
- Hanlp配置自定义词典遇到的问题与解决方法
本文是整理了部分网友在配置hanlp自定义词典时遇到的一小部分问题,同时针对这些问题,也提供另一些解决的方案以及思路.这里分享给大家学习参考. 要使用hanlp加载自定义词典可以通过修改配置文件han ...
- 为什么要学习Hive
一 为什么要学习HIVE? 为什么不是ORACLE和MYSQL? 因为大数据时代 数据量成几何倍数增长,并且数据量非常庞大.大到要用PB EB这种量级去衡量.而我们的ORACLE/MYQL这种 ...
- 【Vue高级知识】细谈Vue 中三要素(响应式+模板+render函数)
[Vue高级知识]细谈Vue 中三要素(响应式+模板+render函数):https://blog.csdn.net/m0_37981569/article/details/93304809
- n=C(2,n)+k(构造)( Print a 1337-string)Educational Codeforces Round 70 (Rated for Div. 2)
题目链接:https://codeforc.es/contest/1202/problem/D 题意: 给你一个数 n ( <=1e9 ),让你构造137713713.....(只含有1,3,7 ...
- jmeter---导出文件接口测试
在http请求下添加后置处理器--BeanShell PostProcessor,保存文件到本地 运行脚本,查看本地文件.
- HTML5自学2
1.1 文字格式 一个杂乱无序.堆砌而成的网页,会让人感觉枯无味,而一个美观大方的网页,会让人有美轮美奂,流连忘返的感觉,本节将介绍如何设置网页文本格式. 文字格式包括字体.字号.文字颜色.字体风 ...