Пусть ваш список будет l1
, а второй аргумент в качестве предела будет a1
, тогда: -
>>> l1 = [1,4,6,10]
>>> a1 = 9
>>> from itertools import combinations as comb
>>>
>>> v1 = list(comb(l1,2)) # making list of combinations of 2-2 elements of list l1
>>>
>>> def max1(dis, x):
... var = 0
... for i in dis:
... if sum(i) <= x and sum(i) >= var: var = sum(i) # doing comparision
... return var
...
>>> max1(v1, a1) # this will give the intended output.
7
Необходимо будет спроектировать таблицу данных во что-то, что реализует IEnumerable, поскольку это - waht, DataGrid ожидает. Сетка является другой реализацией к версии Telerik так ее твердое для ожидания той же функциональности от обоих.
Я нахожу, что самый легкий путь:
myDataGrid.ItemsSource = myDataTable.DefaultView;
потому что DefaultView реализует IEnumerable
Я предполагаю, что поддержка этого будет добавлена в будущем, но на данный момент можно использовать реализацию IListSource
на DataTable
. Звоните GetList()
метод и использование, что как Ваш источник данных. Это - явная интерфейсная реализация, таким образом, необходимо будет бросить:
var data = (myDataTable as IListSource).GetList();