hao1232 发表于 2024-10-11 11:19:11

reversed()函数使用问题

str(reversed("小甲鱼"))
'<reversed object at 0x0000024067C5B910>'
为啥返回结果为一个这个东西???
测试过使用列表或者元组;是可以的。
先转化为列表或元组,再转换为字符串也可以。但直接用str()转化不行。为啥呢???

FishC 发表于 2024-10-11 11:19:12

`reversed()` 函数返回的是一个“迭代器”,而直接用 `str()` 转换迭代器会得到一个不太直观的字符串表示,这就是你看到的结果。

因为迭代器是用来逐个访问元素的,不直接生成一个新的反转序列。如果你想得到一个反转后的字符串,可以这样做:

s = "小甲鱼"
reversed_s = ''.join(reversed(s))
print(reversed_s)# 输出:鱼儿甲小

通过 `join()` 方法将迭代器中的元素连接起来,生成反转后的字符串。使用列表或元组也是可以的,因为它们自己有相应的字符串表示方式。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

wp231957 发表于 2024-10-11 15:36:31

>>> s=reversed("小甲鱼")
>>> s
<reversed object at 0x000002097A966CD0>
>>> list(s)
['鱼', '甲', '小']
>>>

或者像AI那样给他们串起来
页: [1]
查看完整版本: reversed()函数使用问题