다음과 같이 숫자와 연산자 배열을 생성하는 프로그램이 있습니다. [1,'+',6,'*',3,'*',2]
연산 순서를 사용하여 숫자에 대한 이러한 종류의 배열을 평가하고 싶습니다. 배열 길이는 매우 길지 만 시작과 끝은 항상 숫자이며 숫자는 숫자를 따르지 않고 연산자는 연산자를 따르지 않습니다.
나는 연산자 문자열을 실제 작업으로 변환하는 데 operator
모듈을 사용할 수 있다고 생각하지만 작업 순서의 순서를 관리하는 방법을 알지 못합니다.평가 Python에서 연산자와 숫자 배열
0
A
답변
0
당신은 꽤 순진하지만 이것을 시도 할 수도 있습니다.
a = [1,'+',6,'*',3,'*',2]
source = ''
for i in a:
source += str(i)
print eval(source) # 37
+2
@ cricket_007 아니요, 'eval (' 'join (map (str, a)))'. –
관련 문제
- 1. 자바 삼항 연산자와 게으른 평가
- 2. SublimeREPL Python에서 누락 된 평가
- 3. Python에서 지연 평가? 모듈 간?
- 4. Python에서 객체의 숫자 표현
- 5. 포인터 배열 평가
- 6. PHP SOAP 배열 평가
- 7. Python에서 동적으로 생성 된 문 평가
- 8. IF 연산자와 If, then, else 사이의 평가 차이
- 9. Python에서 UTF-8 숫자 처리
- 10. 배열 연산자와 행렬 연산자간에 성능 차이가 있습니까?
- 11. 조건 연산자와 배열/배열에 대한 포인터를 반환합니다
- 12. Python에서 3D 배열 수정
- 13. Python에서 다차원 배열 게시
- 14. Python에서 다차원 배열 편집
- 15. Python에서 2D 배열 초기화
- 16. 변수로 평가 및 배열 색인
- 17. 숫자 배열 배열 도표 matplotlib
- 18. 배열 키 (숫자)를 특정 순서 배열 (숫자)로 정렬
- 19. "*"연산자와 비트 연산을 사용하지 않고 두 숫자 곱하기
- 20. 정렬 숫자 배열 질문
- 21. 숫자 배열 sort()
- 22. Mergesort 숫자 배열
- 23. awk에서 숫자 배열 정렬
- 24. Java 숫자 배열 반환
- 25. 자바 스크립트 숫자 배열
- 26. 연관 배열 정렬 숫자
- 27. 배열 내부의 숫자 비교
- 28. 숫자 배열/행렬 시각화
- 29. 종류의 알파벳과 숫자 배열
- 30. 숫자 배열 메모리 할당
가장 간단한 방법은 문자를 문자열에 결합하고 내장 된 eval()을 사용하는 것입니다. 일반적으로 이것을 사용하는 것은 좋지 않지만 더 큰 그림을 볼 수 없다면 이는 사용자가 원하는 것을 할 것입니다. –
'eval'이 문제가되지 않는다면 [shunting yard algorithm] (https://en.wikipedia.org/wiki/Shunting-yard_algorithm)을 살펴보십시오. – niemmi