是否有一些程序员++i在正常的for循环中写入而不是写入i++?
我有以下for循环:
for i in links:
data = urllib2.urlopen(str(i)).read()
data = json.loads(data)
data = pd.DataFrame(data.items())
data = data.transpose()
data.columns = data.iloc[0]
data = data.drop(data.index[[0]])
Run Code Online (Sandbox Code Playgroud)
如此创建的每个数据框都有大多数列与其他列相同但不是全部.而且,他们都只有一排.我需要的是向数据帧中添加for循环生成的每个数据帧中的所有不同列和每一行
我尝试过连接或类似的熊猫,但似乎没有任何效果.任何的想法?谢谢.
在整个网络上,代码示例都有如下所示的for循环:
for(int i = 0; i < 5; i++)
Run Code Online (Sandbox Code Playgroud)
我使用以下格式:
for(int i = 0; i != 5; ++i)
Run Code Online (Sandbox Code Playgroud)
我这样做是因为我认为它更有效率,但这在大多数情况下真的很重要吗?
我有一个名为ddd的R矩阵.当我输入这个,一切正常:
i <- 1
shapiro.test(ddd[,y])
ad.test(ddd[,y])
stem(ddd[,y])
print(y)
Run Code Online (Sandbox Code Playgroud)
对Shapiro Wilk,Anderson Darling和stem的调用全部工作,并提取相同的专栏.
如果我把这段代码放在"for"循环中,那么对Shapiro Wilk和Anderson Darling的调用就会停止工作,而stem&leaf调用和打印调用将继续工作.
for (y in 7:10) {
shapiro.test(ddd[,y])
ad.test(ddd[,y])
stem(ddd[,y])
print(y)
}
The decimal point is 1 digit(s) to the right of the |
0 | 0
0 | 899999
1 | 0
[1] 7
Run Code Online (Sandbox Code Playgroud)
如果我尝试编写一个函数,会发生同样的事情.SW&AD不起作用.其他的电话呢.
> D <- function (y) {
+ shapiro.test(ddd[,y])
+ ad.test(ddd[,y])
+ stem(ddd[,y])
+ print(y) }
> D(9)
The decimal point is at the |
9 | 000
9 |
10 | 00000 …Run Code Online (Sandbox Code Playgroud) 我希望有一个像这样的for循环:
for counter in range(10,0):
print counter,
Run Code Online (Sandbox Code Playgroud)
输出应为10 9 8 7 6 5 4 3 2 1
我已经看到这两个声明:
for(i=0;i<10;i++)
for(i=0;i!=10;i++)
Run Code Online (Sandbox Code Playgroud)
我知道当我到达时它们都会停止10,但使用第二个(我听说)似乎更好.有什么不同?我也想知道何时使用迭代器来访问向量的成员,迭代器条件< vec.end()和之间的区别是什么!= vec.end()
我正在做一个for循环,为我的6000 X 180矩阵生成180个图形(每列1个图形),一些数据不符合我的标准,我得到错误:
"Error in cut.default(x, breaks = bigbreak, include.lowest = T)
'breaks' are not unique".
Run Code Online (Sandbox Code Playgroud)
我对错误很好,我希望程序继续运行for循环,并给我一个列出这个错误的列(作为包含列名的变量可能?).
这是我的命令:
for (v in 2:180){
mypath=file.path("C:", "file1", (paste("graph",names(mydata[columnname]), ".pdf", sep="-")))
pdf(file=mypath)
mytitle = paste("anything")
myplotfunction(mydata[,columnnumber]) ## this function is defined previously in the program
dev.off()
}
Run Code Online (Sandbox Code Playgroud)
注意:我发现了很多关于tryCatch的帖子,但没有一个对我有效(或者至少我无法正确应用这个功能).帮助文件也不是很有帮助.
帮助将不胜感激.谢谢.
for(auto& entity : memoryManager.getItems()) entity->update(mFrameTime);
Run Code Online (Sandbox Code Playgroud)
如果memoryManager包含1000个项目,那么memoryManager.getItems()在循环开始时会调用1000次还是只调用一次?
编译器是否使用-O2(或-O3)运行任何优化?
(memoryManager.getItems()返回std::vector<Entity*>&)
我最近在一个姐妹网站上回答了一个问题,该问题要求一种功能来计算数字的所有偶数位。其中的其他的答案中包含两个功能(这被证明是最快的,至今):
def count_even_digits_spyr03_for(n):
count = 0
for c in str(n):
if c in "02468":
count += 1
return count
def count_even_digits_spyr03_sum(n):
return sum(c in "02468" for c in str(n))
Run Code Online (Sandbox Code Playgroud)
另外,我还研究了使用列表理解和list.count:
def count_even_digits_spyr03_list(n):
return [c in "02468" for c in str(n)].count(True)
Run Code Online (Sandbox Code Playgroud)
前两个函数基本相同,除了第一个函数使用显式的计数循环,而第二个函数使用内建的sum。我本来希望第二个更快(基于此答案),这是我建议将第二个变成要求审查的东西。但是,事实证明是相反的。用一些数字递增的随机数对其进行测试(因此,任何一位数字的偶数概率约为50%),我得到以下计时:
为什么手动for循环这么快?比使用快将近两倍sum。而且由于内置功能sum应该比手动汇总列表大约快五倍(根据链接的答案),这意味着它实际上要快十倍!是否因为只需要将一半的值添加到计数器而节省了费用,因为另一半被丢弃了,足以说明这种差异?
使用if像这样的过滤器:
def count_even_digits_spyr03_sum2(n):
return sum(1 for c in str(n) if c in "02468") …Run Code Online (Sandbox Code Playgroud) 我想用一个简单的循环for(int i=0; i<10; i++){}.
我如何在Jade引擎中使用它?我正在使用Node.js并使用expressjs框架.