범위 목록에서 숫자 제거
Nov 17 2020
print(list(range(0, n+1, 10)))
그래서 저는 n을 포함하여 10의 양의 배수 목록을 인쇄하고 싶습니다. 그러나 양의 정수로 계산되지 않는 0
목록을 인쇄 할 때 제거하는 방법을 잘 모르겠습니다 0
. 나는 프로그래밍이 처음이라서 내가 시도한 유일한 것은
a = list(range(0, n+1, 10))
a.remove(0)
print(a)
하지만이 모든 것을 한 줄로 할 수 있는지 궁금합니다. print(list(range(0, n+1, 10)))
답변
3 Samwise Nov 17 2020 at 22:14
가장 쉬운 방법은 범위를 0이 아닌 10에서 시작하는 것입니다.
>>> n = 100
>>> list(range(10, n+1, 10))
[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
"이 범위에서이 숫자를 빼는 방법"문제에 대한보다 일반적인 해결책은 list()
함수 대신 목록 이해를 사용 하고 if
절을 추가하는 것입니다 .
>>> [x for x in range(0, n+1, 10) if x > 0]
[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
이렇게하면 "30의 배수가 아닌 10의 배수를 모두주세요"와 같은 더 복잡한 작업을 수행 할 수 있습니다.
>>> [x for x in range(0, n+1, 10) if x % 30]
[10, 20, 40, 50, 70, 80, 100]
3 dantechguy Nov 17 2020 at 22:14
range
, 여기 에있는 문서 는 다른 매개 변수를 지원하며, 이는 사용자가 알고있는대로 다른 출력으로 이어지는 다른 입력입니다.
첫 번째 매개 변수는 시작 값이므로 다음과 같이하면됩니다.
n = 60
list(range(10, n+1, 10))
그런 다음 10부터 시작하여 10의 배수를 인쇄합니다.
[10, 20, 30, 40, 50, 60]
an4s911 Nov 17 2020 at 22:11
이것은 작동합니다.
a = list(range(10, n+1, 10))