【发布时间】:2018-12-22 03:32:39
【问题描述】:
我正在尝试将整数元组设置为我的字典的键。以下是相关代码:
class Solution:
def longestPalindrome(self, s):
"""
:type s: str
:rtype: str
"""
paldict = {}
stringlen = len(s)
for i in range(len(s)):
if self.isPalindrome(s[i]) == True:
paldict[(i, i)] = True
else:
paldict[(i, i)] = False
for key, value in paldict:
print(key)
print(value)
第二个 for 循环仅用于测试,因为编译器告诉我,当我尝试访问第二个元素时,int 类型不可下标,这对我来说很奇怪。这是一个错误,只有在类型不是元组时才会发生。打印出来后,我看到键实际上只是一个整数而不是元组。此外,该值不是 True 或 False,而是相同的整数。任何想法为什么?
【问题讨论】:
-
for key, value in paldict不是您迭代键和值的方式。 -
这样做的正确方法是什么?我原来的问题仍然存在,元组没有被设置为键。
-
"为什么不将元组设置为键?" - 你认为它没有被设置为 key 的事实表明你没有真正阅读和理解欺骗目标。
-
有趣。知道为什么“for key in dict”会产生所需的元组,但“for key, value in dict”不会?那部分我没有完全从阅读副本中得到。
-
我认为您必须执行“for key, value in dict.items() 才能获得正确的键值对列表。那么“for key, value in dict”究竟是什么?那么对 .items() 的调用呢?
标签: python dictionary tuples key