我正在寻找一个“for循环”来查找每个项目的长度并选择最大的数字。
>>>T=[chicken, soda, candy]
>>>Highest = 0
>>>"for loop goes here"
>>>print (highest)
7
T 不是一个元组,而是一个列表。你可以通过做找到print(type(T))
。尝试阅读一般的列表和 Python 编程,有很多很好的资源可用。如果您希望 T 成为元组,只需将括号更改为像这样[]
的常规括号,循环通过它的工作方式与下面提到的相同,因此无需更改任何内容。()
T = ("chicken", "soda", "candy")
列表中的元素T
需要是某种类型或变量。您正在寻找的可能是一个字符串。要将单词创建为 String 类型,请将其放在双引号中,如下所示"chicken"
。
以下是我怀疑您正在寻找的内容:
T = ["chicken", "soda" ,"candy"]
Highest = 0
for word in T:
lengthOfWord = len(word)
if lengthOfWord > Highest:
Highest = lengthOfWord
print(Highest)
您还可以在此处查看实时版本。
您需要在字符串周围加上引号(例如"chicken"
),并且变量的大小写很重要Highest
并且highest
不同。()
还可以对元组使用圆括号,[]
对列表使用方括号。
在 Python 中执行此操作的一个简单方法是使用创建生成器表达式的关键字max()
来查找最长的字符串并len()
查找长度:for
T=("chicken", "soda", "candy")
Highest = max(len(x) for x in T)
print(Highest)
稍旧的 Python 版本会使用列表推导:
Highest = max([len(x) for x in T])
erip 的回答显示了如何改用 for 循环。
您可以使用以下内容创建长度列表:
[len(i) for i in T]
然后您可以调用max
一个可迭代的,它将返回最大元素。
把它放在一起你有:
print(max([len(i) for i in T]))
如果你想要一个for-loop
明确的,你可以使用这个:
max_length = 0
for i in T:
max_length = max(len(i), max_length))
print(max_length)
请注意,这些都适用于list
s 和tuple
s。
问题不清楚。但我希望这会对你有所帮助。
T = ('chicken', 'soda', 'candy')
Highest = 0
for i in range(0, len(T)):
if len(T[i]) > int(Highest):
Highest = len(T[i])
print ("Highest is %d" % Highest)