Python 中的 for 循环

2025-01-20 09:06:00
admin
原创
144
摘要:问题描述:在 C/C++ 中,我可以有以下循环for(int k = 1; k <= c; k += 2) 如何在 Python 中做同样的事情?我可以做到for k in range(1, c): 在 Python 中,这相当于for(int k = 1; k <= c; k++) 在 C/C+...

问题描述:

在 C/C++ 中,我可以有以下循环

for(int k = 1; k <= c; k += 2)

如何在 Python 中做同样的事情?

我可以做到

for k in range(1, c):

在 Python 中,这相当于

for(int k = 1; k <= c; k++)

在 C/C++ 中。


解决方案 1:

尝试使用这个:

for k in range(1,c+1,2):

解决方案 2:

您还应该知道,在 Python 中,迭代整数索引是一种不好的做法,而且比其他方法更慢。如果您只想查看列表或字典中的每个项目,请直接循环遍历列表或字典。

mylist = [1,2,3]
for item in mylist:
    print item

mydict  = {1:'one', 2:'two', 3:'three'}
for key in mydict:
    print key, mydict[key]

这实际上比使用上面的带有 range() 的代码更快,并且删除了多余的i变量。

如果您需要就地编辑列表的项目,那么您确实需要索引,但还有更好的方法:

for i, item in enumerate(mylist):
    mylist[i] = item**2

再次强调,这不仅速度更快,而且更具可读性。这是从 C++ 转到 Python 时需要做出的主要思维转变之一。

解决方案 3:

答案是好的,但是对于想要这样做的人来说range(),要做的形式是:

range(end)

>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

range(start,end)

 >>> list(range(1, 11))
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

range(start,end, step)

 >>> list(range(0, 30, 5))
[0, 5, 10, 15, 20, 25]

解决方案 4:

如果你想在 Python 中编写一个循环来打印一些整数等,那么只需复制并粘贴此代码,它就会很有效

# Display Value from 1 TO 3  
for i in range(1,4):
    print "",i,"value of loop"

# Loop for dictionary data type
  mydata = {"Fahim":"Pakistan", "Vedon":"China", "Bill":"USA"  }  
  for user, country in mydata.iteritems():
    print user, "belongs to " ,country

解决方案 5:

在 Python 中,通常使用 for in 循环,而不是像 C/C++ 那样使用通用的 for 循环,但您可以使用以下代码实现相同的功能。

for k in range(1, c+1, 2):
  do something with k

参考Python 中的循环。

解决方案 6:

在 C/C++ 中,我们可以执行以下操作,正如您提到的

for(int k = 1; k <= c ; k++)
for(int k = 1; k <= c ; k +=2)

我们知道这里k从 1 开始,逐渐以步长值 1 或 2 达到(预定义)c值。我们可以在 Python 中按照以下步骤执行此操作:

for k in range(1,c+1):
for k in range(1,c+1,2):

请检查此处以了解更多详细信息。

解决方案 7:

Python 中的函数range()是一种生成序列的方法。序列是可以索引的对象,如列表、字符串和元组。检查序列的一种简单方法是尝试从中检索索引元素。也可以使用Class(ABC)collections 模块中的 Sequence Abstract Base 进行检查。

from collections import Sequence as sq
isinstance(foo, sq)

需要range()三个参数startstopstep

  1. start:所需序列的起始元素

  2. stop :所需序列的第 (n+1) 个元素

  3. step :序列元素之间所需的间隙。它是可选参数,默认为 1。

为了获得所需的结果,您可以使用以下语法。

range(1,c+1,2)

解决方案 8:

您可以使用以下格式。

for i in range(0, 10, 2):
    print(i,' ', end='')
print('')

这将打印;

0  2  4  6  8 

解决方案 9:

尽管要求使用 FOR STATEMENT,只是为了记录作为奖励,或者使用 WHILE,它会是:

k=1
while k<c:
      #
      # your loop block here
      #
      k+=2

解决方案 10:

以下是迭代整数范围和字符串的一些示例:

#(initial,final but not included,gap)
for i in range(1,10,2): 
  print(i); 
1,3,5,7,9

# (initial, final but not included)  
# note: 4 not included
for i in range (1,4): 
   print(i);
1,2,3 

#note: 5 not included
for i in range (5):
  print (i);
0,1,2,3,4 

# you can also iterate over strings
myList = ["ml","ai","dl"];  

for i in myList:
  print(i);
output:  ml,ai,dl

解决方案 11:

使用它来代替 for 循环:

k = 1
while k <= c:
   #code
   k += 1
相关推荐
  政府信创国产化的10大政策解读一、信创国产化的背景与意义信创国产化,即信息技术应用创新国产化,是当前中国信息技术领域的一个重要发展方向。其核心在于通过自主研发和创新,实现信息技术应用的自主可控,减少对外部技术的依赖,并规避潜在的技术制裁和风险。随着全球信息技术竞争的加剧,以及某些国家对中国在科技领域的打压,信创国产化显...
工程项目管理   2577  
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   1553  
  IPD(Integrated Product Development)流程作为一种先进的产品开发管理模式,在众多企业中得到了广泛应用。其中,技术评审与决策评审是IPD流程中至关重要的环节,它们既有明显的区别,又存在紧密的协同关系。深入理解这两者的区别与协同,对于企业有效实施IPD流程,提升产品开发效率与质量具有重要意义...
IPD管理流程   26  
  本文介绍了以下10款项目管理软件工具:禅道项目管理软件、ClickUp、Freshdesk、GanttPRO、Planview、Smartsheet、Asana、Nifty、HubPlanner、Teamwork。在当今快速变化的商业环境中,项目管理软件已成为企业提升效率、优化资源分配和确保项目按时交付的关键工具。然而...
项目管理系统   21  
  建设工程项目质量关乎社会公众的生命财产安全,也影响着企业的声誉和可持续发展。高质量的建设工程不仅能为使用者提供舒适、安全的环境,还能提升城市形象,推动经济的健康发展。在实际的项目操作中,诸多因素会对工程质量产生影响,从规划设计到施工建设,再到后期的验收维护,每一个环节都至关重要。因此,探寻并运用有效的方法来提升建设工程...
工程项目管理制度   18  
热门文章
项目管理软件有哪些?
曾咪二维码

扫码咨询,免费领取项目管理大礼包!

云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用