파이썬. 리스트 내 길이가 최소인 것 중 가장 앞의 것
글쓴이: 임준혁@Google / 작성시간: 수, 2020/04/29 - 12:13오전
안녕하세요. 프로그래밍 새내기인데.. 질문이 있습니다.
str들이 몇 개 있는 리스트가 있고 거기서 길이가 가장 짧은 거를 찾으려 합니다.
그런데 길이가 가장 짧은 것 중에서도 가장 앞에 있는 걸 출력하고 싶거든요.
이렇게 코드를 짜봤습니다. x 선언을 안했다고 뜨네요.
갑자기 어떠한 변수를 선언하고 싶을 때 어떻게 해야할 지 모르겠습니다.
(min함수를 사용하지 않고 가장 짧은 것 중 가장 앞에 있는 것을 뽑으려했습니다.)
s_list = ['abc', 'bcd', 'bcdefg', 'abba', 'cddc', 'opq'] for i in s_list: if len(i) < len(s_list[0]): len(i) == x # x 선언을 어떻게 해야할지 모르겠음 if len(i) == x: break print(x) # 여기는 x가 잘 나오나 확인 해본 겁니다. for a in s_list: if len(a) == x: break break print(a)
Forums:
어떤 코드를 짜려고 하셨는지는 모르겠습니다만,
어떤 코드를 짜려고 하셨는지는 모르겠습니다만,
이런 종류의 작업을 하기 위해 루프를 돌리는 것은 pythonic 하지 않습니다.
pythonic하게 아래와 같이 짭시다.
앗 min 함수를 사용하지 않고..
아 min함수를 쓰지 않고 길이가 가장 짧은 것들 중 가장 앞의 것을 뽑으려했습니다.!
도대체 왜 그런 조건이 있어야 하는지 이해할 수는
도대체 왜 그런 조건이 있어야 하는지 이해할 수는 없지만, 저는 관대하니까 일단 넘어가겠습니다.
zz
ㅋㅋㅋ 대학 과제. 파이썬 연습문제니까 이해해주세요^^
# -*- coding: utf-8 -*-
[우분투 18.04 파여폭스 나비에서 적었어요~]
우왕
감사해용~
파이썬 1도 모르는 사람이고, 어떤게
파이썬 1도 모르는 사람이고, 어떤게 pythonic한지 모르는 사람입니다.
아무래도 min함수와 비슷하게 구현하는 학과 과제 인거 같은데
for문을 돌면서 왜 가장 작은 길이중 첫번째가 나오는지 고민해보세요
ㅎㅎ
딴지거는거죠? ㅋㅋㅋㅋ
딴지거는거죠? ㅋㅋㅋㅋ
내용의 의미를 봐야지 코드의 완벽성을 보여주려고 적은게 아닙니다.
수준이참...
why so serious?
why so serious?
히히
감사해용~~ 내용의 의미를 보겠슴돠
x 에 대해 초기화도 안되어 있고
x 에 대해 초기화도 안되어 있고
있지도 않은 x 를 len(i) 와 비교(==) 를 하는 문법이 있네요?
그리고 비교(==)하는게 아니라 대입(=) 해야 할거 같구요
그다음에 x 와 len(i) 를 비교해서 뭘하던지 해야 되지 않을까요?
그리고 이런 문제는 어쨌든 모든 항목을 검사해야 합니다.
중간에 break 가 들어갈수 없다는 말입니다.
처음 발견한 제일 짧은 길이의 내용을 검사해서 길이가 같으면 break 가 아니라 continue 를 이용해야죠 ^^
------------------------------------------------------------
ProgrammingHolic
^^
감사해용~
댓글 달기