好吧,我是Python的新手,而这里的代码有问题的片段:Python的错误:诠释对象不标化
<!-- language: lang-py -->
List = [["W","w"],["A","A"],["a","a"]]
def ascii():
x = 0
y = 0
aValues = [[],[],[]]
for item in List:
for item in List[x]:
c = "0"
c = ord(List[x[y]])
y = y + 1
aValues[x].append(c)
x = x + 1
return aValues
aValues = ascii()
print (aValues)
而且,当我尝试执行此,我得到这个错误信息:
>>>
Traceback (most recent call last):
File "/Users/Hersh/Desktop/Python/ascii_conversion.py", line 16, in <module>
aValues = ascii()
File "/Users/Hersh/Desktop/Python/ascii_conversion.py", line 10, in ascii
c = ord(List[x[y]])
TypeError: 'int' object is not subscriptable
>>>
究竟是什么问题,我该如何解决它?
我更喜欢[先前版本](http://stackoverflow.com/revisions/d2a6cdb7-d17a-460b-af79-55af26b631a1/view-source)。如果'all(len(e)== 2 for e in List)',那么你应该真的使用元组而不是列表。 – phihag 2012-03-20 02:16:29
@海鹰同意了,我用你的建议编辑了我的答案 – 2012-03-20 02:26:33
它实现了或多或少的目标。我被告知总是在功能上做我的代码。 (当然,这是更大的代码片段的一部分) – 2012-03-20 04:22:30