python基础之reverse和reversed函数的介绍及使用
作者:sysu_lluozh 发布时间:2022-10-19 19:12:18
一、reverse
reverse()是python中列表的一个内置方法(在字典、字符串和元组中没有这个内置方法),用于列表中数据的反转
例子:
lista = [1, 2, 3, 4]
lista.reverse()
print(lista)
打印结果:
[4, 3, 2, 1]
其实,lista.reverse()
操作的返回值是一个None,其作用的结果需要通过打印被作用的列表才可以查看出具体的效果
二、reversed
reserved()是python内置函数之一,其功能是对于给定的序列(包括列表、元组、字符串以及 range(n)区间),该函数可以返回一个逆序序列的迭代器(用于遍历该逆序序列)
关于reversed()官方解释:
reversed(sequence) -> reverse iterator over values of the sequence
Return a reverse iterator
即:
reverse(sequence) ->反转迭代器的序列值
返回反向迭代器
也就是说,在经过reversed()的作用之后,返回的是一个把序列值经过反转之后的迭代器,所以需要通过遍历,或者List或者next()等方法获取作用后的值
reserved()函数的语法格式如下:
reversed(seq)
其中,seq可以是列表,元素,字符串以及range()生成的区间列表
reversed()函数的基本用法:
#将列表进行逆序
print([x for x in reversed([1,2,3,4,5])])
#将元组进行逆序
print([x for x in reversed((1,2,3,4,5))])
#将字符串进行逆序
print([x for x in reversed("abcdefg")])
#将 range() 生成的区间列表进行逆序
print([x for x in reversed(range(10))])
执行结果:
[5, 4, 3, 2, 1]
[5, 4, 3, 2, 1]
['g', 'f', 'e', 'd', 'c', 'b', 'a']
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
除了使用列表推导式的方式,还可以使用list()函数,将reversed()函数逆序返回的迭代器,直接转换成列表。例如:
#将列表进行逆序
print(list(reversed([1,2,3,4,5])))
程序执行结果为:
[5, 4, 3, 2, 1]
再次强调,使用reversed()函数进行逆序操作,并不会修改原来序列中元素的顺序,例如:
a = [1,2,3,4,5]
#将列表进行逆序
b = list(reversed(a))
print("a=",a)
print("b=",b)
执行结果:
a= [1, 2, 3, 4, 5]
b= [5, 4, 3, 2, 1]
附:Python中reverse和reversed反转列表的操作方法
列表反转
x = ["a", "b", "c", "d", "e"]
print(list(reversed(x)))
# ['e', 'd', 'c', 'b', 'a']
x = ["a", "b", "c", "d", "e"]
for i in reversed(x):
print(i)
'''
e
d
c
b
a
'''
元组反转
y = (1, 2, 3)
print(tuple(reversed(y)))
# (3, 2, 1)
字符串反转
z = 'Hider'
print(''.join(reversed(z))) # 字符串连接 迭代器遍历
# rediH
来源:https://blog.csdn.net/lluozh2015/article/details/123443787


猜你喜欢
- 前言在我们日常生活中,时间概念常伴我们左右。让我们简单的回忆一下自己的一天,大致有以下时间点:8:00,清晨的阳光照射到床头伴着闹钟,你从睡
- 面是我下载页面down.php 的php代码 现在我发现,用迅雷,谷歌浏览器直接打开,就能输出下载文件,一点不起防盗链作用。&nb
- 报错信息应该是这样的webpackEmptyContext (eval at ./src/store/modules sync recurs
- Python程序中,在进程和进程之间是不共享全局变量的数据的。我们来看一个例子:from multiprocessing import Pr
- 底层报错 error:cannot assign requested address原因 并发场景下 client 频繁请求端口建立tcp连
- 【OpenCV】⚠️高手勿入! 半小时学会基本操作 ⚠️ 圆圈检测概述OpenCV 是一个跨平台的计算机视觉库, 支持多语言, 功能强大.
- 前言技术能解决的事情改技术技术解决不了的事情该需求现状假设我们目前有两张表业务表 书( t_a_book ) 阅读历史记录表 (t_r_bo
- 前言Python爬虫实战,requests模块,Python实现 * 页爬虫让我们愉快地开始吧~开发工具Python版本: 3.6.4相关模
- 如下所示:In [1]: import pandas as pd ...: df=pd.DataFrame({"a":[
- librosa是处理音频库里的opencv,使用python脚本研究音频,先安装三方库librosa。如下通过清华镜像源安装librosa;
- 应用OpenCV和Python进行SIFT算法的实现如下图为进行测试的gakki101和gakki102,分别验证基于BFmatcher、F
- 本文介绍了从golang语言中fmt包从标准输入获取数据的Scan系列函数、从io.Reader中获取数据的Fscan系列函数以及从字符串中
- 刚刚有人问我二年前写的那个小三角的效果还能作出什么样的效果,我正在看电视,画面上出现了这样一个小灯笼,于是,我就说,可以作个小灯笼玩玩。于是
- perl有最好的文本数据处理能力.这是大家都知道的.在perl本身有一个别的软件没有的小功能,就是Perl格式.它相当于简单的命令行报表和图
- CKeditor编辑器是FCKeditor的升级版本想对于FCK来说,确实比较好用,加载速度也比较快以下是如果通过JS获取CKeditor编
- Python中numpy数组的合并有很多方法,如- np.append() - np.concatenate() - np.stack()
- <!DOCTYPE HTML> <html> <head> <title>test1<
- 本文实例讲述了CKeditor富文本编辑器使用技巧之添加自定义插件的方法。分享给大家供大家参考,具体如下:首先就是在CKeditor的plu
- 总的来讲,JavaSever PagesTM(JSP)和 微软的Active Sever Pages(ASP)在技术方面有许多相似之处。两者
- 1. OS标准库简介顾名思义,OS表示Operating System,即操作系统。OS标准库是一个操作系统接口模块,提供一些方便使用操作系