我正在学习Learnpythonthehardway,在ex40中,我遇到了这段代码。
for sentence in snippet, phrase:
result = sentence[:]
我不太明白句子[:],尤其是[:]
我试图通过基础测试代码弄明白:
sentence = 'sss errf : fe : eee'
f = 33
result = sentence[:f]
print result
但没有任何反应,结果与句子相同
那么,聪明的极客,句子[:]在这里意味着什么?
答案 0 :(得分:3)
这是使用python的列表切片语法,只是意味着“复制整个列表”。
您可能经常执行类似some_list[:5]
的操作来获取前5个元素,或者some_list[5:]
来获取第五个元素以后的所有元素(如果您将第0个元素作为第一个元素,则从第六个元素开始,因为python列表是零索引的)。如果您这样想,语法意味着从第一个元素到最后一个元素的所有内容。
这里重要的是,这确实产生了列表的副本,而不是对原始列表的引用。这意味着它可以是克隆列表的有用方法,它不会什么都不做。