유니 코드 개체 목록이 names
이고 새 목록 parsed_names
을 생성하려고하므로 하나의 이름을 가진 개체가 문자열로 변환되고 개체는 이름 목록은 문자열 목록으로 변환됩니다유니 코드 개체 목록을 문자열 목록으로 변환
ValueError: malformed string
)를 잡아 잘못했다하지 않는 게 좋을
names = [u'Johnny', u'["Tamir", "Josh"]', u'Brad']
parsed_names = ['Johnny', ['Tamir', 'Josh'], 'Brad']
:
import ast
names = [u'Johnny', u'["Tamir", "Josh"]', u'Brad']
parsed_names = []
for n in names:
try:
parsed_names.append(ast.literal_eval(name))
except ValueError:
parsed_names.append(str(name))
print parsed_names
# ['Johnny', ['Tamir', 'Josh'], 'Brad']
참고 : 내 최종 고아 내가 편평한 목록 (['Johnny', 'Tamir', 'Josh', 'Brad']
)을 생산하는 것이지만 이미 그 코드를 가지고 있으며이 단계를 먼저 취해야한다고 생각합니다.
그런 다음 코드에서 ' at all at –
@PatrickHaugh 그는 문자열을 먼저 평가하므로 목록처럼 보이는 문자열이 목록으로 평가됩니다. 깔끔하게 평가하지 않는 모든 것은 문자열로 유지됩니다. – onlynone
각 문자열을 평가하면 문제가 발생합니다. 누군가의 이름이 "참"이면 부울 값 "True"를 최종 목록에 추가합니다. 내장 또는 예약어와 일치하는 모든 "이름"은 문제가 발생할 것입니다. – onlynone