[PYTHON] Python Math - TypeError : 'NoneType'객체는 subscriptable이 아닙니다.
PYTHONPython Math - TypeError : 'NoneType'객체는 subscriptable이 아닙니다.
나는 수학을위한 작은 프로그램을 만들고있다. (특별한 이유가없이 그냥 원한다). "TypeError : 'NoneType'객체가 subscriptable이 아니라는 오류가 발생했다.
전에이 오류를 본 적이 없으므로 그 의미가 무엇인지 전혀 알지 못합니다.
import math
print("The format you should consider:")
print str("value 1a")+str(" + ")+str("value 2")+str(" = ")+str("value 3a ")+str("value 4")+str("\n")
print("Do not include the letters in the input, it automatically adds them")
v1 = input("Value 1: ")
v2 = input("Value 2: ")
v3 = input("Value 3: ")
v4 = input("Value 4: ")
lista = [v1, v3]
lista = list.sort(lista)
a = lista[1] - lista[0]
list = [v2, v4]
list = list.sort(list)
b = list[1] = list[0]
print str(a)+str("a")+str(" = ")+str(b)
오류:
Traceback (most recent call last):
File "C:/Users/Nathan/Documents/Python/New thing", line 16, in <module>
a = lista[1] - lista[0]
TypeError: 'NoneType' object is not subscriptable
해결법
-
==============================
1.
lista = list.sort(lista)
이것은 있어야한다.
lista.sort()
.sort () 메서드는 현재 위치에 있으며 None을 반환합니다. 값을 반환하는 적절한 위치에 있지 않은 것을 원한다면
sorted_list = sorted(lista)
# 1 : 목록리스트에 전화하지 마십시오. 그것은 내장 목록 유형을 파괴합니다.
# 2 :이 줄이 무엇을 의미하는지 잘 모르겠습니다.
print str("value 1a")+str(" + ")+str("value 2")+str(" = ")+str("value 3a ")+str("value 4")+str("\n")
간단하게
print "value 1a + value 2 = value 3a value 4"
? 다른 말로하면, 나는 왜 당신이 str을 이미 str이라고 부르는지를 알지 못한다.
# 3을 제외하고 : 때때로 print ( "something") (Python 3 구문)을 사용하고 print "something"(Python 2)을 사용하기도합니다. 후자는 py3에 SyntaxError를 줄 것이므로, *를 실행해야합니다.이 경우 습관에 들기를 원하지 않거나 여분의 괄호로 인쇄 튜플을 감습니다. 나는 이것이 충분히 잘 작동 함을 인정한다. 왜냐하면 괄호 안에 오직 하나의 요소 만이 튜플로 해석되지는 않지만 파이썬의 눈에는 이상하게 보인다.
-
==============================
2.listA의 값이 실제로 None이므로 TypeError : 'NoneType'객체가 subscriptable이 아닌 예외가 발생합니다. Python 커맨드 라인에서 이것을 시도하면 코드에있는 TypeError를 재현 할 수 있습니다 :
listA의 값이 실제로 None이므로 TypeError : 'NoneType'객체가 subscriptable이 아닌 예외가 발생합니다. Python 커맨드 라인에서 이것을 시도하면 코드에있는 TypeError를 재현 할 수 있습니다 :
None[0]
lista가 None으로 설정되는 이유는 list.sort ()의 반환 값이 None이므로 원래 목록의 정렬 된 복사본을 반환하지 않기 때문입니다. 그 대신 문서가 지적한대로 목록이 복사본 대신 만들어 지도록 정렬됩니다 (효율성을 높이기 위해).
사용할 수있는 원본 버전을 변경하지 않으려면
other_list = sorted(lista)
-
==============================
3.이 링크에서 https://docs.python.org/2/tutorial/datastructures.html이 방법을 읽을 수 있습니다. "목록의 항목을 제자리에 정렬"이것은 결과 값이 정렬 된 그 결과는 그 자체가 될 것입니다. 이 함수는 없음을 반환합니다.
이 링크에서 https://docs.python.org/2/tutorial/datastructures.html이 방법을 읽을 수 있습니다. "목록의 항목을 제자리에 정렬"이것은 결과 값이 정렬 된 그 결과는 그 자체가 될 것입니다. 이 함수는 없음을 반환합니다.
14 번 줄에서 "lista"에 결과를 지정하면
lista = list.sort(lista)
당신은 None으로 설정합니다. 그것은 오류입니다. 항상 데이터가 없으므로 사용할 수 없습니다. subscriptable. "TypeError : 'NoneType'개체는 subscriptable이 아닙니다."
목록을 정렬하기 위해이 오류를 수정하려면 14 행에서 다음을 수행하십시오.
lista.sort() # this will sort the list in line
그러나 몇 가지 다른 오류가 있습니다. 18 번 줄에
list = [v2, v4]
당신은 clob을 "list"타입으로 만들면 다음과 같은 에러 메시지가 나옵니다 :
TypeError: 'list' object is not callable
이를 수정하려면 다음과 같이하십시오.
lista2 = [v2, v4]
다시 19 번 줄에서 14 번 줄과 같은 오류가 발생합니다. 다른 목록을 정렬하려면 다음과 같이하십시오.
lista2.sort()
21 행에서 내장 된 유형 목록을 색인하려고합니다. 이것을 수정하려면 :
b = lista2[1] = lista2[0]
이것으로 코드가 잘 돌아갑니다. 마지막으로 정확한 코드 :
import math print("The format you should consider:") print str("value 1a")+str(" + ")+str("value 2")+str(" = ")+str("value 3a ")+str("value 4")+str("\n") print("Do not include the letters in the input, it automatically adds them") v1 = input("Value 1: ") v2 = input("Value 2: ") v3 = input("Value 3: ") v4 = input("Value 4: ") lista = [v1, v3] lista.sort() a = lista[1] - lista[0] lista2 = [v2, v4] lista2.sort() b = lista2[1] = lista2[0] print str(a)+str("a")+str(" = ")+str(b)
-
==============================
4.실제로 예상 할 수없는 데이터를 표시하기 때문에 오류 메시지 Object는 subscriptable이 아닙니다.
실제로 예상 할 수없는 데이터를 표시하기 때문에 오류 메시지 Object는 subscriptable이 아닙니다.
내장 메서드에서 정렬 itelsef 목록에서 호출
like lista = lista.sort (list)
그런 다음 필요한 작업을 수행하십시오.
from https://stackoverflow.com/questions/9320766/python-math-typeerror-nonetype-object-is-not-subscriptable by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 수레에 isdigit 사용하기? (0) | 2018.11.22 |
---|---|
[PYTHON] 파이썬에서 객체에 대한 모든 참조를 찾습니다. (0) | 2018.11.22 |
[PYTHON] 파이썬에서 생성자와 for 루프 (0) | 2018.11.22 |
[PYTHON] pandas to_csv 출력 인용문 (0) | 2018.11.22 |
[PYTHON] Python Argparse 조건부 필수 인수 (0) | 2018.11.22 |