在作业的左侧使用slice运算符在Python中有什么作用?

时间:2019-01-28 09:53:26

标签: python slice

在Python中,切片运算符在赋值操作的左侧使用时如何工作?

当我第一次看到这种用法时,我正在浏览Google Cloud Datastore Python Client的源代码。

<table id="bomTable" class="hover">
    <thead>
        <tr>
            <th></th>
            <th></th>
            <th></th>
            <th></th>
        </tr>
    </thead>
    <tbody>
    <c:forEach items="${list.listItems}" var="item">
        <tr <c:if test="${item.rowType == 'HEADLINE'}">class="headerRow"</c:if>>
            <td>${item.materialNumber}</td>
            <td>${item.materialDescription}</td>
            <td>${item.quantity}</td>
            <td>${item.unit}</td>
         </tr>
     </c:forEach>
     </tbody>
</table>

到目前为止,我已经尝试理解以下内容:

  1. 我写了一种模仿这种用法的方法-
def keys_only(self):
    """Set the projection to include only keys."""
    self._projection[:] = ["__key__"]
  1. 我使用了>>> def f(): ... a = [] ... a[:] = [1, 2] # <---- notice the slice in this statement ... print(a) ... 模块来查看内部调用了哪些指令-
dis

我的问题是:

  • 这种切片用法到底能做什么?
  • 此用法的用例是什么?它有任何帮助吗?
  • 此用法中切片的性能如何?它是就地发生还是首先创建一个副本?

0 个答案:

没有答案