В значительной степени, что @Lars, уже сказанный:
//Force T to be a value (primitive) type.
public class Class1<T> where T: struct
//Force T to be a reference type.
public class Class1<T> where T: class
//Force T to be a parameterless constructor.
public class Class1<T> where T: new()
Вся работа в.NET 2, 3 и 3.5.
l = ("xxxxxxxxx", "yyyy","zz")
print(max(l, key=len))
Прежде всего, у вас нет списка, у вас есть кортеж. однако этот код будет работать для любой последовательности; и списки, и кортежи являются последовательностями (а также строками, наборами и т. д.). Итак, функция max
принимает аргумент key
, который используется для сортировки элементов итерации. Итак, из всех элементов l
будет выбран тот, имеющий максимальную длину.
Чтобы напечатать длину элементов:
elements = ["xxxxxx", "yyy", "z"]
for element in elements:
print len(element)
Я рекомендую вам прочитать некоторые учебные материалы, например http://docs.python.org/tutorial/
>>> sorted(['longest','long','longer'],key=len)[-1]
'longest'
ОБНОВЛЕНИЕ: решение SilentGhost намного лучше.
просто запросите максимальное значение в соответствии с длиной
print max (["qsf", "qsqsdqsd", "qs"], key = len)
Следующий код напечатает самую большую строку в наборе:
l = ["abcdev", "xx","abcedeerer"]
len_0 = len(l[0])
pos = 0
for i in range(0,len(l)):
if len(l[i]) > len_0:
pos = i
print l[pos]