当前位置: 首页 > news >正文

Python中可以反转的数据类型

Python中可以反转的数据类型

在Python中,以下几种主要数据类型支持反转操作:

1. 序列类型(支持切片操作的类型)

字符串(str)

s = "hello"
print(s[::-1])  # 输出: "olleh"

列表(list)

lst = [1, 2, 3, 4]
print(lst[::-1])  # 输出: [4, 3, 2, 1]

元组(tuple)

t = (1, 2, 3)
print(t[::-1])  # 输出: (3, 2, 1)

字节(bytes)和字节数组(bytearray)

b = b'abc'
print(b[::-1])  # 输出: b'cba'

2. 使用内置函数或方法反转的类型

列表(list) - 使用reverse()方法

lst = [1, 2, 3]
lst.reverse()  # 原地反转
print(lst)  # 输出: [3, 2, 1]

使用reversed()内置函数(返回迭代器)

lst = [1, 2, 3]
print(list(reversed(lst)))  # 输出: [3, 2, 1]s = "hello"
print(''.join(reversed(s)))  # 输出: "olleh"

3. 其他可反转的数据结构

双端队列(collections.deque)

from collections import deque
d = deque([1, 2, 3])
d.reverse()
print(d)  # 输出: deque([3, 2, 1])

数组(array.array)

import array
arr = array.array('i', [1, 2, 3])
arr.reverse()
print(arr)  # 输出: array('i', [3, 2, 1])

不能直接反转的数据类型

集合(set)和字典(dict)

  • 集合和字典是无序的,没有反转的概念
  • 但可以转换为列表后反转
my_set = {1, 2, 3}
print(list(reversed(list(my_set))))  # 需要先转为列表my_dict = {'a': 1, 'b': 2}
print(dict(reversed(list(my_dict.items()))))  # 反转键值对顺序

反转方法总结

数据类型切片[::-1]reverse()方法reversed()函数
str
list
tuple
bytes
set❌(需转换)
dict❌(需转换)

选择哪种反转方式取决于具体需求:

  • 需要新对象:使用切片或reversed()
  • 原地反转:使用reverse()方法
  • 处理不可变类型:使用切片或reversed()
http://www.lryc.cn/news/590178.html

相关文章:

  • GaussDB 数据库架构师修炼(五) 存储容量评估
  • 搜索框的显示与隐藏(展开与收起)
  • el-input 回显怎么用符号¥和变量拼接展示?
  • openEuler 22.03 LTS Rootless Docker 安装指南
  • MongoDB复杂查询 聚合框架
  • 洛谷 P11247 [GESP202409 六级] 算法学习-普及/提高-
  • pymongo库:简易方式存取数据
  • ETL还是ELT,大数据处理怎么选更靠谱?
  • 步态循环(Gait Cycle)
  • 【MySQL事务和锁】回顾事务
  • 图像质量评价(Image Quality Assessment,IQA)
  • 调试bug记录
  • 【基于飞浆训练车牌识别模型】
  • Docker——Redis
  • 【C语言网络编程】HTTP 客户端请求(发送请求报文过程)
  • Mybatis07-缓存
  • 比特币技术简史 第二章:密码学基础 - 哈希函数、公钥密码学与数字签名
  • 今日行情明日机会——20250716
  • S7-200 SMART PLC:模拟量模块接线全解析
  • 汽车功能安全-相关项集成和测试(系统集成测试系统合格性测试)-12
  • xss-labs通关
  • “Datawhale AI夏令营”基于带货视频评论的用户洞察挑战赛2
  • lesson15:Python的文件操作
  • Docker 中的动态配置:docker update 命令与环境变量管理
  • Hadoop架构演进:从1.0到2.0的深度对比与优化解析
  • Docker 安装和配置 MySQL 8.0.36 的详细步骤
  • 力扣-146.LRU缓存机制
  • Linux-局域网构建+VLAN 划分 + 端口 MAC-IP 绑定 + 静态 DHCP
  • 【前端】在Vue3中绘制多系列柱状图与曲线图
  • (nice!!!)(LeetCode 每日一题) 3201. 找出有效子序列的最大长度 I (动态规划dp)