forrange(for i in range什么意思)
for range 的时候它的地址会发生变化么
不会。
因为forrange会创建每个元素的副本,而不是返回每个元素的引用,所以它的地址是不会发生变化的。
关于for循环和range函数
1. range(n)循环n遍,是从0到n-1
2. range(n,m)循环m-n遍,从n到m
range(n)=range(0,n)
range(1,1)的时候是循环0遍,这个符合第2条规则,但是实际上用起来有些怪怪的,需要稍微绕一下下,比方说:
在这个例子中的num1实际上是从0到len(arr)-1再-1的,没有len(arr)-1,
而num2是从num1+1开始的,最多就是len(arr)-1-1再+1,也就是len(arr)-1,所以并不会出现range(n,n)=[]的问题,
但直观上来看num2的循环好像会出现range(len(arr),len(arr))的问题.....所以有点别扭
主要还是原来用的别的语言的时候太懒了,我都不分=和,经常是试着来,这个不行就用另一个,反正就这两种可能...............
python不惯我这个坏毛病........
当然了,也可以用while.....但我原来也不喜欢用这个,还得想跳出 条件.....还是太懒了
如何实现C++11的for range
简单的for range可以用几个简单的宏定义来实现(这里并不是C++11的range for,至于c++11的那个,可能需要写很多模板,待我研究几天再说):
#includeiostream
using?namespace?std;
#define?For(i)?for(int?_fr_ii_=0,?i=_fr_ii_
#define?In?=
#define?Range(s,?e)?int(s);?_fr_ii_int(e);?_fr_ii_++)
#define?Do?{
#define?EndFor?}
int?main()
{
????????For(x)?In?Range(2,?5)?Do
????????????????coutxendl;
????????EndFor
????????For(b)?In?Range(100,?100+10)?{
????????????????coutbendl;
????????}
????????For(sb)?In?Range(2*2,?15-5*0.5+2)
????????????????coutsbendl;
????return?0;
}
Python中for和range用法?
range(0,100,1) 是生成一个0-99的序列,也就是循环了100次。打印的是100个*