2015-11-24 35 views
-7

我正在尋找一個「for循環」來查找每個項目的長度並選擇最大的數字。查找元組中的項目長度(Python)

>>>T=[chicken, soda, candy] 
>>>Highest = 0 
>>>"for loop goes here" 
>>>print (highest) 
7 
+3

你有什麼企圖? –

+2

'T'不是一個元組,它是一個列表。你是指列表還是元組? – erip

+2

T不是一個元組,T的內容不是字符串,所以它們也沒有任何真正的長度概念。 –

回答

1

您可以創建長度列表下列要求:

[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這幫都工作。

+0

Downvoter關心給予反饋爲什麼downvote? – erip

3

你需要在你的字符串(例如"chicken")報價,和變量的情況下,重要的所以Highesthighest是不同的。也可以使用圓括號()作爲元組,使用方形[]作爲列表。

一個簡單的方法在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循環代替。

-2

問題不明確。 但我希望這會幫助你。

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) 
3

T不是一個元組,而是一個列表。你可以通過做print(type(T))找到答案。嘗試閱讀一般列表和Python編程,有很多好的資源可用。如果你希望T是一個元組,只需將括號[]更改爲像這樣的()這樣的常規()圓括號,循環遍歷它的工作方式與下面提到的方式相同,因此不需要更改任何那個。

列表中的元素T需要是某種類型或變量。你正在尋找的可能是一個字符串。要以字符串類型創建單詞,請使用雙引號,如"chicken"

繼承人什麼,我懷疑你是不是想找:

T = ["chicken", "soda" ,"candy"] 
Highest = 0 
for word in T: 
    lengthOfWord = len(word) 
    if lengthOfWord > Highest: 
     Highest = lengthOfWord 
print(Highest) 

您還可以檢查出真人版here