2015-10-28 5 views
0

Мне нужно написать функцию, которая берет список целых чисел, верхнюю границу и нижнюю границу и возвращает список, который имеет только целые числа из списка аргументов, которые находятся в верхней и нижней (включительно).Нижние и верхние связанные целые числа, Python

list = [1,2,3,4,5,6,7,8,9,10] 
def getMembersInRange(i): 
    for i in range(1,5): 
     print (i) 
    for i in range(6,10): 
     print(i) 

Это то, что я пробовал, но это не дает мне желаемого результата.

ответ

2

Простые определения списка послужат вашим целям.

>>> k = [1,2,3,4,5,6,7,8,9,10] 
>>> upper = 7 
>>> lower = 3 
>>> [i for i in k if lower <= i <= upper] 
[3, 4, 5, 6, 7] 

PS: пожалуйста, не используйте ключевые слова Python для имен переменных ... это может вызвать у вас проблемы, гарантированные.

+1

Вы можете переписать условие в понимании списка с помощью более читаемого синтаксиса: '[i для i в k, если ниже <= i <= верхний]' – davidedb

+0

@davidedb Я написал это другим способом, потому что это недействительно тест на большинстве других языков, поэтому он может быть более запутанным для новичка, но, оглядываясь на него, я согласен, что это более путинский путь. Обновлено и спасибо. – BlivetWidget

Смежные вопросы