왜 print(x)
은 다음 목록 유효성에서 유효하지 않습니다 (SyntaxError
)? 인쇄가 기능하지 않기 때문에이 문장의,목록 이해 : 왜이 구문 오류입니까?
def my_func(x):
print(x)
[my_func(my_item) for my_item in my_list]
왜 print(x)
은 다음 목록 유효성에서 유효하지 않습니다 (SyntaxError
)? 인쇄가 기능하지 않기 때문에이 문장의,목록 이해 : 왜이 구문 오류입니까?
def my_func(x):
print(x)
[my_func(my_item) for my_item in my_list]
을, 당신은 표현에서 그들을 가질 수 없습니다 : 다음 구문 오류를 제공하지 않습니다 -
my_list=[1,2,3]
[print(my_item) for my_item in my_list]
는 대조합니다. 보통 파이썬 2 문법을 사용하면 더 명확 해집니다 :
my_list=[1,2,3]
[print my_item for my_item in my_list]
그게 옳지 않습니다. :) my_item 주위에 괄호로 묶는 것은 당신을 속입니다.
이 코드는 Python 3에서 변경되었습니다. 여기서 print 은이고 코드는 잘 작동합니다.
print
이 기능이 아니기 때문에 구문 오류입니다. 그것은 진술입니다. (이 아무도이 없기 때문에) 당신은 분명 print
에서 반환 값을 걱정하지 않기 때문에, 그냥 보통의 루프를 작성 :
for my_item in my_list:
print my_item
지능형리스트는 목록을 만들 수 있도록 설계되었습니다. 그래서 우리가 print()를 사용하거나 2.7 또는 3.x에서 인쇄 할 때 print를 사용하면 에러가 발생하지 않을 것입니다. 코드
[my_item for my_item in my_list]
은 유형 목록의 새 개체를 만듭니다. 전체
등이 새로운 목록 밖으로
print [my_item for my_item in my_list]
인쇄 참조 : here이
* "print()를 사용하거나 2.7 또는 3.x로 인쇄해도 상관 없습니다."* 이것은 python 3.x가 아닌 python 2.x에만 해당됩니다. '[abc "]에서 char에 대한 print (char)는 python 3.x에서 유효합니다 (그러나 권장하지 않습니다). – jDo
당신은 미래에서이 기능을 가져올 수 있습니다'__future__ 수입 print_function' –
에서 THC4k @ - 동의,이 것 코드가 * 2.6과 3.0 모두에서 컴파일 될 수 있는지 확인하십시오. –
그렇습니다. 특별히 2.6을 언급했기 때문에 좋은 지적입니다. –