Python 为什么我的dict[';key3';][0]。upper()有效,而我的dict[';key3';][0]。reverse()无效

Python 为什么我的dict[';key3';][0]。upper()有效,而我的dict[';key3';][0]。reverse()无效,python,Python,为什么my_dict['key3'][0]。upper()有效,而my_dict['key3'][0]。reverse()无效,错误显示为: AttributeError Traceback (most recent call last) <ipython-input-8-1cf579a91af7> in <module> ----> 1 my_dict['key3'][0].reverse() Attribu

为什么
my_dict['key3'][0]。upper()
有效,而
my_dict['key3'][0]。reverse()
无效,错误显示为:

AttributeError                            Traceback (most recent call last)
<ipython-input-8-1cf579a91af7> in <module>
----> 1 my_dict['key3'][0].reverse()

AttributeError: 'str' object has no attribute 'reverse' 
AttributeError回溯(最近一次调用)
在里面
---->1我的字典['key3'][0]。反向()
AttributeError:“str”对象没有属性“reverse”
我已将我的简历分配为:


my_dict={'key1':123,'key2':[12,23,33],'key3':['item0','item1','item2']}

仅仅是因为
str
没有错误中所述的
reverse
属性。如果要在Python中反转
str
对象,请使用以下命令:

my_string [::-1]

在来到这里之前,请阅读错误并在web浏览器上搜索它。

正如错误所说,Python中没有称为
str
reverse
方法

您可以简单地执行以下操作:

my_dict['key3'][0][::-1]

字符串没有名为
.reverse()
的属性。python中的一个有用技巧是使用
dir
函数检查可用的属性/方法:

>>目录(“我的字符串”)
“UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU"初始"子类","迭代","乐","伦",,“\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu,'join','ljust','lower','lstrip','maketrans','partition','replace','rfind','rindex','rjust','rpartition','rsplit','rstrip','splitlines','StartWith','strip','swapcase','title','translate upper','zfill']
您将不会注意到此类
反向
属性。您可以使用内置的
reversed
功能或切片来完成所需的工作:

>'.join(反向('my string'))
‘gnits ym’
>>>“我的字符串”[::-1]
‘gnits ym’

错误准确地说明了原因:
AttributeError:'str'对象没有属性'reverse'
。对于
str
objects,没有像
reverse
这样的方法。我强烈建议您尝试在一个更简单的环境中执行这些方法,在这个环境中,您可以确保您调用的方法产生所需的行为。如果您试图在单个字符串中调用reverse,您将看到该方法不存在(这正是错误所说的)。另外,请阅读。只有可变序列具有
反向方法。字符串(
str
)是不可变的。但这是例如我有list=['a'、'b'、'c']和我有list.reverse(),它会使列表成为['c'、'b'、'a'],因为
list
对象有一个名为
reverse
的方法,但对于
str
对象没有这样的东西,例如我有list=['a'、'b'、'c']我做的是list.reverse()它会把列表变成['c'、'b'、'a']它们是不同类型的
list
str
,如果你在这些概念上遇到困难,你可能需要上Python/CS/编程课程。