Python 中 TypeError: Unhashable Type: Slice 错误
切片是 Python 中非常常见的技术。 它允许我们使用元素的索引从给定的序列(如字符串、列表、元组等)中提取数据。
下面是一个非常简单的切片示例。
lst = [2,5,6,7,3,1]
print(lst[0:2])
输出:
[2, 5]
上面的示例使用切片技术提取列表的一部分。 注意索引的使用。
Python 中 TypeError: unhashable type: 'slice'
当我们尝试对给定数据类型执行某些不受支持的操作时,Python 中会引发 TypeError。 如果我们尝试在不支持的数据类型(例如字典、DataFrame 等)上使用此技术,则在切片时也可能会引发 TypeError。
例如:
d = {'a':10, 'b':11}
d[0:2]
输出:
TypeError: unhashable type: 'slice'
请注意上面示例中引发的 unhashable type: 'slice' 错误。
字典使用散列函数来使用各自的键查找值。 它不存储值的索引。
这里的不可散列是指切片操作不可散列,并且不能与字典一起使用。
本篇文章将介绍如何解决 Python 的 unhashable type: 'slice'
错误。
修复 Python 中的 TypeError: unhashable type: 'slice'
最基本的修复方法是使用支持切片的序列。 其中包括列表、字符串、字典、元组和其他支持的序列。
我们可以将不支持切片的字典转换为列表并修复此错误。
对于字典,我们可以使用 values()
和 keys()
来获取字典中值和键的视图对象。 可以使用 list()
函数将该对象转换为支持切片的列表。
请参阅下面的代码。
d = {'a':10, 'b':11}
print(list(d.values())[0:2])
print(list(d.keys())[0:2])
输出:
[10, 11]
['a', 'b']
上面的示例将字典转换为两个键和值列表。 我们对这些列表进行切片。
我们还可以使用 items()
函数返回元组列表中键和值对的视图对象。
请参阅下面的代码。
d = {'a':10, 'b':11}
print(list(d.items())[0:2])
输出:
[('a', 10), ('b', 11)]
总结
本篇文章介绍了 Python 中的 unhashable type: 'slice' 错误以及如何修复它。 我们首先讨论了Python中的切片技术。
我们介绍了字典及其背后的原因如何不支持这种技术。 该修复涉及使用不同的函数,例如 items()
、keys()
和 values()
,这些函数可以使用字典创建列表,该列表可以进一步用于切片。
相关文章
修复 Python 错误TypeError: Missing 1 Required Positional Argument
发布时间:2023/05/31 浏览次数:152 分类:Python
-
本篇文章将讨论 Python 中的 TypeError: missing 1 required positional argument: 'self' 错误以及我们如何解决它。让我们讨论引发此错误的情况。不在 Python 中实例化对象
修复 Python 中的 TypeError: Can Only Join an Iterable 错误
发布时间:2023/05/30 浏览次数:180 分类:Python
-
本篇文章将讨论Python中的 TypeError: can only join an iterable 错误。修复Python中 TypeError: can only join an iterable 错误。由于它是 TypeError,我们可以得出结论,正在对给定对象执行不受支持的操作。
Python 错误 TypeError: Function Object Is Not Subscriptable
发布时间:2023/05/30 浏览次数:145 分类:Python
-
我们将在本文中了解为什么会出现 TypeError: 'function' object is not subscriptable,以及我们如何在 Python 中修复此错误。
解决 Python中错误 TypeError: Not All Arguments Converted During String Forma
发布时间:2023/05/30 浏览次数:166 分类:Python
-
模 (%) 运算符就是其中一种方法。 它是 Python 中最古老的字符串格式化方法之一,以错误的方式使用它可能会导致 TypeError: not all arguments converted during string formatting。
解决 Python中 TypeError: Nonetype Object Is Not Subscriptable 错误
发布时间:2023/05/30 浏览次数:250 分类:Python
-
在本文中,我们将讨论为什么 TypeError: NoneType object is not subscriptable 在 Python 中出现以及如何修复它。 我们将学习如何对序列数据类型错误地使用 append()、sort() 和 reverse() 等方法导致
Python 错误 TypeError: Unhashable Type: List
发布时间:2023/05/17 浏览次数:147 分类:Python
-
本文将讨论 TypeError: unhashable type: 'list' 以及如何在 Python 中修复它。因为 Python 字典只接受可散列数据类型作为它们的键,而列表是不可散列的。
Python 错误 TypeError: __str__ Returned Non-String but Printing Output
发布时间:2023/05/17 浏览次数:144 分类:Python
-
本文旨在解决当我们尝试打印字符串而不是在函数中使用 return 语句时出现的问题。Python 错误TypeError: __str__ Returned Non-String but Printing Output
解决 Python 中 TypeError: An Integer Is Required 错误
发布时间:2023/05/16 浏览次数:252 分类:Python
-
在 Python 代码中发生的另一个最常见的错误是 TypeError。本文将展示我们如何在 Python 中得到 TypeError。 此外,我们将通过使用必要的示例和解释来讨论该主题,以使该主题更容易理解。
Python 中错误 TypeError: Must Be Real Number, Not STR
发布时间:2023/05/16 浏览次数:215 分类:Python
-
TypeError: must be real number, not str 错误涉及使用错误的类型和非实数,在本例中为 str 类型。使用 float() 或 int() 解决Python 中 TypeError: must be real number, not str