Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 목록 문자열을 사전으로 변환

<시간/>

여기에 요소가 포함된 문자열이 표시되면 목록이 되는 시나리오가 있습니다. 그러나 이러한 요소는 사전을 만드는 키-값 쌍을 나타낼 수도 있습니다. 이 기사에서는 이러한 목록 문자열을 가져와 사전으로 만드는 방법을 살펴보겠습니다.

분할 및 슬라이싱 사용

이 접근 방식에서는 split 함수를 사용하여 요소를 키 값 쌍으로 분리하고 슬라이싱을 사용하여 키 값 쌍을 사전 형식으로 변환합니다.

stringA = '[Mon:3, Tue:5, Fri:11]'
# Given string
print("Given string : \n",stringA)
# Type check
print(type(stringA))
# using split
res = {sub.split(":")[0]: sub.split(":")[1] for sub in stringA[1:-1].split(", ")}
# Result
print("The converted dictionary : \n",res)
# Type check
print(type(res))

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

('Given string : \n', '[Mon:3, Tue:5, Fri:11]')

('The converted dictionary : \n', {'Fri': '11', 'Mon': '3', 'Tue': '5'})

평가 및 교체 사용

eval 함수는 문자열에서 실제 목록을 가져온 다음 replace가 각 요소를 키 값 쌍으로 변환합니다.

stringA = '[18:3, 21:5, 34:11]'
# Given string
print("Given string : \n",stringA)
# Type check
print(type(stringA))
# using eval
res = eval(stringA.replace("[", "{").replace("]", "}"))
# Result
print("The converted dictionary : \n",res)
# Type check
print(type(res))

출력

위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -

('Given string : \n', '[18:3, 21:5, 34:11]')

('The converted dictionary : \n', {18: 3, 34: 11, 21: 5})