-
[기본] 파이썬 문자+숫자로 조합된 변수를 for문에 사용하는 질문입니다.2020.06.17 PM 12:25
변수가 a0, a1, a3, a4입니다
이걸 for문에 사용하려고 합니다.
for i in range():
a+i ???
a+[i]???
저런식으로 하면 당연히 에러나겠죠?
어떻게 해야 a...변수들을 순차적으로 반복문안에서 써먹을수 있나요?
댓글 : 7 개
- v41n
- 2020/06/17 PM 12:38
exec('a' + str(1) + ' = 30')
상황에 따라, exec, eval, compile 사용... 이긴 하나... 이런 방법은 그닥 추천하고싶진 않네요....
상황에 따라, exec, eval, compile 사용... 이긴 하나... 이런 방법은 그닥 추천하고싶진 않네요....
- 링크링크
- 2020/06/17 PM 12:39
배열 쓰는게 편할듯요
- dusldus
- 2020/06/17 PM 12:42
변수를 배열에 넣고 for로 호출해서 쓰세요.
동적으로 변수를 생성해야 한다면 찾아보니 setattr(mod, ‘var_{}’.format(i), i) 라는게 있네요
동적으로 변수를 생성해야 한다면 찾아보니 setattr(mod, ‘var_{}’.format(i), i) 라는게 있네요
- 란포
- 2020/06/17 PM 12:48
# a 변수가 리스트라면 아래와 같이 하는게 파이썬 다운 코드
a = ['a', 'b', 'c', 'd']
for c in a:
print(c)
print(72*'-')
# range를 써서 index로 접근해도 되지만 위 코드가 더 깔끔한 표현
for i in range(len(a)):
print(a[i])
print(72*'-')
# 만약 a 변수가 리스트가 아니라 님 조건처럼 a0, a1, a3, a4 식이라면
# for로 접근하려면 문자열로 변수명을 연산한 후 eval를 써야 할 듯
a0 = 'a'
a1 = 'b'
a3 = 'c'
a4 = 'd'
for i in [0, 1, 3, 4]:
print(eval-'a{}'.format(i)))
댓글은 들여쓰기가 잘 안되네요 for 블럭 안에는 들여쓰기 해야 함
a = ['a', 'b', 'c', 'd']
for c in a:
print(c)
print(72*'-')
# range를 써서 index로 접근해도 되지만 위 코드가 더 깔끔한 표현
for i in range(len(a)):
print(a[i])
print(72*'-')
# 만약 a 변수가 리스트가 아니라 님 조건처럼 a0, a1, a3, a4 식이라면
# for로 접근하려면 문자열로 변수명을 연산한 후 eval를 써야 할 듯
a0 = 'a'
a1 = 'b'
a3 = 'c'
a4 = 'd'
for i in [0, 1, 3, 4]:
print(eval-'a{}'.format(i)))
댓글은 들여쓰기가 잘 안되네요 for 블럭 안에는 들여쓰기 해야 함
- NEXT_GO!!
- 2020/06/17 PM 01:30
감사합니다 !
- revliskciuq
- 2020/06/17 PM 12:55
와 신기한 파이선나라
- NEXT_GO!!
- 2020/06/17 PM 01:30
역시 파이썬은 파이썬답게 코딩을 해야겠군요
댓글주신 모든분들 감사합니다~
댓글주신 모든분들 감사합니다~
user error : Error. B.