아래 코드에 설명 된대로 임의 목록의 문자열 표현을 원래 목록 객체로 다시 변환하고 싶습니다.
list1 = [1,2,3,4]
list1str = str(list1)
str2list1 = list1str[1:-1].split(",") #stripping off square brackets from [1,2,3,4] and then splitting
print(list1) #[1,2,3,4]
print(str(list1)) #[1,2,3,4]
print(str2list1) #['1', ' 2', ' 3', ' 4']
#Notice that the elements are of string types.
#Also there is a prefix empty space in ' 2' (and also in ' 3' and ' 4')
# --> I will like str2list1 to be ['1', ' 2', ' 3', ' 4']
또한 중첩 목록을 다루는 경우 :
list2 = [1,2,['a','b'],4]
list2str = str(list2)
str2list2 = list2str[1:-1].split(",")
print(list2) #[1, 2, ['a', 'b'], 4]
print(str(list2)) #[1, 2, ['a', 'b'], 4]
print(str2list2) #['1', ' 2', " ['a'", " 'b']", ' 4']
# --> I will like str2list2 to be [1, 2, ['a', 'b'], 4]
문자열 표현에서 정확한 원본 목록을 얻으려면 어떻게해야합니까?
당신은 시도 할 수 있습니다:
>>> import ast
>>> ast.literal_eval("[1,2,['a','b'],4]")
[1, 2, ['a', 'b'], 4]
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다