【发布时间】:2016-01-14 16:09:53
【问题描述】:
当已知 Python 列表始终包含单个项目时,是否有其他方法可以访问它:
mylist[0]
您可能会问,“您为什么要这样做?”。唯有好奇心。似乎有另一种方法可以在 Python 中执行所有操作。
【问题讨论】:
-
可能有替代方案,但通常只有一种 明显 方法可以做到这一点 - 在这种情况下,您似乎已经找到了它。
-
如果它总是包含单个项目,那么
list可能不是最好的数据类型? -
@ekhumoro:我实际上偏向于序列解包方法,因为它验证了序列只有一个元素的假设。
mylist[0]在您至少有一个元素时成功,但如果您实际上有 30 个元素,则不会抱怨。singleitem, = mylist验证您只有一个元素,不多也不少。 -
@ShadowRanger。问题是关于访问列表中已经已知包含单个项目的唯一元素。
-
@ekhumoro:没有异议。我只是更喜欢防御性地编程,因此违反要求的行为不会默默通过(肯定会失败,但会大声失败,这比细微的不当行为更容易识别和修复)。如果每次生产代码中的某些“已知”行为被证明是大错特错时,我都会得到一分钱......好吧,我可能不会富有,但我可以接受一家人出去享用真的美味的晚餐。
标签: python python-3.x python-2.7 list iterable-unpacking