x [:] = y的含义是什么?

时间:2016-03-30 19:11:03

标签: python

我在开始时试图理解[:],但我找不到任何文件提及它。学习Python高级语法的最佳位置在哪里? Google搜索无法找到[:]。但我最后想出来了。我只是想知道在哪里学习Python的最佳位置'。

例如:

def test(x, y):
    x[:] = y  
    #x = y

>>> a = [0.5,0.6]
>>> b = [0.3]
>>> test(a, b)
>>>
>>> print a
[0.3]  # [0.5,0.6] 

3 个答案:

答案 0 :(得分:8)

<a href="javascript:__doPostBack(&#21;ctl54$cphMainContent$resultsGrid$ctl54$ctl25$ctl62$ctl13&#24;,&#56;&#56;)"><span>abc</span></a> 表示整个序列。它基本上是x[:]

省略x[from:to]表示从开始到from

to

省略>>> numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> numbers[:5] [0, 1, 2, 3, 4] 表示从to到结束。

from

省略两者意味着整个清单。

>>> numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> numbers[5:]
[5, 6, 7, 8, 9]

设置>>> numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> numbers[:] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 表示设置整个列表:

numbers[:]

请记住设置>>> numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> numbers[:] = [1, 2, 3, 4] >>> numbers [1, 2, 3, 4] 列出的更改,但不会创建新的更改。该对象仍然具有相同的numbers[:]

答案 1 :(得分:2)

您需要搜索的术语是 slice start是完整形式,可以省略任何一个使用默认值:0默认为endstep默认为列表的长度,x[:] 1}}默认为1.因此x[0:len(x):1]表示与 public List<CustomersObj> list(int firstRow, int rowCount, String sortField, boolean sortAscending) throws SQLException { String SqlStatement = null; if (ds == null) { throw new SQLException(); } Connection conn = ds.getConnection(); if (conn == null) { throw new SQLException(); } int countrow = firstRow + rowCount; String sortDirection = sortAscending ? "ASC" : "DESC"; // Oracle // SqlStatement = "SELECT A.* " // + " FROM (SELECT B.*, ROWNUM RN " // + " FROM (SELECT Y.COMPONENTSTATSID, Y.NAME, Y.SERIALNUMBER, Y.WEIGHTKG, Y.ZONECAGE, Y.POWERWATT, Y.MANIFACTURECOMPANY, Y.UFORM, " // + " Y.STATUS, Y.LOCATION, Y.HEATEMISIONSBTU, Y.PRODUCTIONENVIRONMENT, Y.STANDARTLIFETIME, Y.OPERATINGHAMIDITYRANGE, " // + " Y.OPERATINGSYSTEM, Y.DATEDEPLOYED, Y.INTERFACETYPE, Y.TYPE, Y.COOLINGCAPACITYBTU, Y.DATEADDED, Y.DESCRIPTION " // + " FROM COMPONENTWEIGHT X, COMPONENTSTATS Y WHERE X.COMPONENTSTATSID = Y.COMPONENTSTATSID AND Y.COMPONENTTYPEID = 3300 " // + " ORDER BY %S %S) B " // + " WHERE ROWNUM <= ?) A " // + " WHERE RN > ?"; // postgresql SqlStatement = "SELECT * FROM CUSTOMERS ORDER BY %S %S offset ? limit ? "; String sql = String.format(SqlStatement, sortField, sortDirection); PreparedStatement ps = null; ResultSet resultSet = null; List<CustomersObj> resultList = new ArrayList<>(); try { conn.setAutoCommit(false); boolean committed = false; ps = conn.prepareStatement(sql); ps.setInt(1, countrow); ps.setInt(2, firstRow); resultSet = ps.executeQuery(); resultList = ProcessorArrayList(resultSet); conn.commit(); committed = true; } finally { ps.close(); conn.close(); } return resultList; } 完全相同。您可以在以下位置找到更多信息 empirical distribution functionExpression section of the language reference

答案 2 :(得分:0)

符号x[:]相当于x[0:n],其中nlen(x)。它指定x0n-1的元素范围。

读取时,会创建一个包含指定范围元素的新列表,字符串或其他内容。

分配到时,指定范围的元素将被破坏性地替换为原始元素。请注意,列表允许这样做,但字符串不允许这样做。