Python 冒号不是数字序列?
Python colon not a sequence of numbers?
在r代码中,1到4的整数序列:
1:4
如何在 python 3 中复制它?用例是使用 iloc:
从 pandas 数据帧中进行选择
df.iloc[1:4]
在 Python 中,为了生成数字范围,请使用函数 range
。
range(1, 5)
这将生成从 1
到 4
的数字。如果你在Python2,range
会给你一个列表,如果你在Python3,它会给你一个range
对象。
如果您在 Python 3 中,并且您想要一个列表,只需使用 list
函数将您的范围转换为列表
>>> list(range(1, 5)
[1, 2, 3, 4]
使用 range(1, 5)
为您提供从 1 到 4(包括两者)的整数集
您可以使用
mylist=list(range(1,5))
print(mylist)
list() 将给定范围对象转换为列表
要生成从 1 到 4(含)的数字范围,请使用:range(1, 5)
或 range(1, 4+1)
需要注意的几点:
代码 range(x, y)
生成的范围从(包括)x
到(但 不 包括)y
.如果你想包含 y
,加 1(就像我上面做的那样)。
range(x, y)
在 Python 2 与 Python 3 中的工作方式略有不同。我不会在这里详细介绍,但我建议使用 Python 3(希望您已经在使用)。
range(x)
将生成从(包括)零到(但 不 包括)x
的范围。所以range(x)
和range(0, x)
基本一样。
range
函数会生成一个range
对象;也就是说,它实际上并没有创建 x
和 y
之间所有整数的 list
。如果您确实想要 x
和 y
之间的整数 list
,请使用此代码:
some_list = list(range(x, y))
但是,如果您希望从顺序容器中提取一部分值,这可能会奏效:
from itertools import islice
values = islice(df.iloc, 1, 5) # returns an iterator
values = list(values) # extracts the values from the iterator into a list
Python 的切片语法不会生成整数范围;它产生一个或多个 slice
对象,这些对象被传递给适当类型的 __getitem__
方法。也就是说,
df.iloc[1:4]
相当于
def.iloc[slice(1,4)]
或
df.iloc.__getitem__(slice(1,4))
在r代码中,1到4的整数序列:
1:4
如何在 python 3 中复制它?用例是使用 iloc:
从 pandas 数据帧中进行选择df.iloc[1:4]
在 Python 中,为了生成数字范围,请使用函数 range
。
range(1, 5)
这将生成从 1
到 4
的数字。如果你在Python2,range
会给你一个列表,如果你在Python3,它会给你一个range
对象。
如果您在 Python 3 中,并且您想要一个列表,只需使用 list
函数将您的范围转换为列表
>>> list(range(1, 5)
[1, 2, 3, 4]
使用 range(1, 5)
为您提供从 1 到 4(包括两者)的整数集
您可以使用
mylist=list(range(1,5))
print(mylist)
list() 将给定范围对象转换为列表
要生成从 1 到 4(含)的数字范围,请使用:range(1, 5)
或 range(1, 4+1)
需要注意的几点:
代码
range(x, y)
生成的范围从(包括)x
到(但 不 包括)y
.如果你想包含y
,加 1(就像我上面做的那样)。range(x, y)
在 Python 2 与 Python 3 中的工作方式略有不同。我不会在这里详细介绍,但我建议使用 Python 3(希望您已经在使用)。range(x)
将生成从(包括)零到(但 不 包括)x
的范围。所以range(x)
和range(0, x)
基本一样。range
函数会生成一个range
对象;也就是说,它实际上并没有创建x
和y
之间所有整数的list
。如果您确实想要x
和y
之间的整数list
,请使用此代码:some_list = list(range(x, y))
但是,如果您希望从顺序容器中提取一部分值,这可能会奏效:
from itertools import islice
values = islice(df.iloc, 1, 5) # returns an iterator
values = list(values) # extracts the values from the iterator into a list
Python 的切片语法不会生成整数范围;它产生一个或多个 slice
对象,这些对象被传递给适当类型的 __getitem__
方法。也就是说,
df.iloc[1:4]
相当于
def.iloc[slice(1,4)]
或
df.iloc.__getitem__(slice(1,4))