【发布时间】:2019-09-14 07:28:43
【问题描述】:
这两个命令不应该做同样的事情吗?
>>> "{0[0:5]}".format("lorem ipsum")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: string indices must be integers
>>> "{0}".format("lorem ipsum"[0:5])
'lorem'
命令
>>> "{0[0]}".format("lorem ipsum")
'l'
和
>>> "{0}".format("lorem ipsum"[0])
'l'
评估相同。 (我知道我可以使用其他方法来做到这一点,我主要只是好奇为什么它不起作用)
【问题讨论】:
-
关于为什么特定功能没有在 Python 中实现的问题实际上并不在一个好的 Stack Overflow 问题的范围内。 “因为这就是它的设计工作方式”不一定是一个令人满意的答案。我们所拥有的只是意见,除非其中一位 Python 开发人员碰巧碰巧。但是,我会注意到 f 字符串确实支持切片。