我在开始时试图理解[:]
,但我找不到任何文件提及它。学习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]
答案 0 :(得分:8)
<a href="javascript:__doPostBack(ctl54$cphMainContent$resultsGrid$ctl54$ctl25$ctl62$ctl13,88)"><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
默认为end
,step
默认为列表的长度,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 function和Expression section of the language reference。
答案 2 :(得分:0)
符号x[:]
相当于x[0:n]
,其中n
为len(x)
。它指定x
从0
到n-1
的元素范围。
读取时,会创建一个包含指定范围元素的新列表,字符串或其他内容。
分配到时,指定范围的元素将被破坏性地替换为原始元素。请注意,列表允许这样做,但字符串不允许这样做。