文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python [::-1]的简单理解与用法

2023-09-02 19:45

关注

从结果上来看,[::-1]的作用是对列表进行翻转,比方说:

a = [1, 2, 3, 4, 5]print(a[::-1])b = "12345"print(b[::-1])

输出:

[5, 4, 3, 2, 1]54321

可以发现这个东西的用法和reversed函数是相同的,只不过更为简洁:

a = [1, 2, 3, 4, 5]print(list(reversed(a)))b = "12345"print("".join(reversed(b)))

输出:

[5, 4, 3, 2, 1]54321

那么这个东西的原理是什么呢?一般来说,我们见过一个冒号的情况比较多,用来做列表切片:

a = [1, 2, 3, 4, 5]print(a[:-1])print(a[1:])print(a[:])

输出:

[1, 2, 3, 4][2, 3, 4, 5][1, 2, 3, 4, 5]

多一个冒号的话,新冒号后面的数字表什么呢?其实是表步长,比如:

a = [1, 2, 3, 4, 5]print(a[:-1])print(a[:-1:])print(a[:-1:1])print(a[:-1:2])

输出:

[1, 2, 3, 4][1, 2, 3, 4][1, 2, 3, 4][1, 3]

步长是正数的话,[a:b]是从a到b,往右读取,b应该比a大;而步长如果改成负数,[a:b]的含义仍然是从a到b,只是往左读取,所以此时b应该比a小,比如:

print(a[3:0:-1])

输出:

[4, 3, 2]

自然而然的,如果不指定a,b,那么处理的范围是整个列表;步长为-1,表示整个列表从右往左读取,即翻转数组。


那么数据是二维的会怎么样呢?直接看例子:

a = [[1, 2],     [3, 4]]print(a[::-1])

输出:

[[3, 4],  [1, 2]]

这一结果的本质是,切片本身只在数组的第0维去操作,而二维数组的的0维是行,因此会把所有行给逆序。
三维数组的话同理,将第0维逆序:

a = [     [[1, 2],[3, 4]],     [[5, 6],[7, 8]]    ]

输出:

[ [[5, 6], [7, 8]],  [[1, 2], [3, 4]]]

既然涉及到三维,那就可以拓展到图片了。比方说,使用cv2.imread读到的图片是存储在尺寸为(H, W, C)的ndarray里的。如果对图片使用[::-1],相当于对第0维H(height)进行逆序,将图片垂直翻转180度:

import cv2img = cv2.imread("1.jpg")img = img[::-1]cv2.imwrite("2.jpg", img)

翻转前:
在这里插入图片描述
翻转后:
在这里插入图片描述

来源地址:https://blog.csdn.net/qq_40714949/article/details/127037956

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯