이 파이썬 코드를 한줄로 줄일 수는 없을까요?
조회수 690회
listx = 100
for i in list1:
listx -= i
파이썬 for문 예제들을 보면 한줄에 이러한 기능을 작성한것들이있던데, 대부분
[i*2 for i in list1]
이런식으로 리스트에 append를 하는 예제이더라구요
근데 리스트에 append를 하는것이아닌 a의 값을 정해놓고, 여기에 list로 만들어진 수열을 빼는것을 한줄로 만들수는없을까요?
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
3.8 부터 Walrus operator 라는 표현식이 추가되었습니다.
잘 사용하면 간결한 코드를 만들 수 있습니다.
In [1]: listx = 100 In [2]: [listx := listx - i for i in range(1, 10)] Out[2]: [99, 97, 94, 90, 85, 79, 72, 64, 55]
- 3.8버전 이상에서만 사용 가능한 표현식인지요? 알 수 없는 사용자 2020.4.13 22:07
- 네 답변에도 언급했다시피 3.8에 추가되었습니다. 당연히 이전버전에선 못 씁니다. 정영훈 2020.4.14 07:07
- 감사합니다. 알 수 없는 사용자 2020.4.21 07:07
댓글 입력