我正在学习Python,但在使用for循环时遇到了很多困难。我知道它们与while循环类似。我的基本理解是,它们逐个遍历列表项并对其应用一个块。
但我似乎无法编写一个有效的for循环,我无法理解其中的某些东西。当我查看我的课程(Udacity)中的示例时,也不理解它如何工作。
以下是代码示例,可以正常运行,但我却无法想出这段代码,也无法确定为什么它能够正常工作:
三个打印语句的输出分别为0、2和2。我猜想我不理解的是这一行代码的工作原理是什么?
如果您指定[0],那么它如何应用于位置[1]和[2]中的'Sebastian'和'Katy'?
在看到解决方案之前,我尝试编写相同的for循环,并且代码更像这样:
但我似乎无法编写一个有效的for循环,我无法理解其中的某些东西。当我查看我的课程(Udacity)中的示例时,也不理解它如何工作。
以下是代码示例,可以正常运行,但我却无法想出这段代码,也无法确定为什么它能够正常工作:
def measure_udacity(U):
count = 0
for e in U:
if e[0] == 'U':
count = count + 1
return count
print measure_udacity(['Dave','Sebastian','Katy'])
print measure_udacity(['Umika','Umberto'])
print measure_udacity(['udacity', 'United States', 'umbrella', 'U2'])
三个打印语句的输出分别为0、2和2。我猜想我不理解的是这一行代码的工作原理是什么?
if e[0] == 'U':
如果您指定[0],那么它如何应用于位置[1]和[2]中的'Sebastian'和'Katy'?
在看到解决方案之前,我尝试编写相同的for循环,并且代码更像这样:
def measure_udacity(ulist):
i = 0
j = 0
for i in ulist:
if ulist[j] == 'U':
i += 1
j += 1
else:
j+=1
return i
基本上是尝试提高在列表中搜索“U”时的位置。这像一袋砖试图漂浮一样失败了。到目前为止,Python非常简单,但我在for循环方面遇到如此多的麻烦,告诉我有些基本的东西我不理解。
e
是一个字符串,e[0]
表示它的第一个字符。 - hpaulj