어떻게 목록에 문자열을 변환하는?

샤시 쿠마 KL :

나는 파일이 있고 그 아래 좋아하는 여러 목록으로 구성

[234,343,234]
[23,45,34,5]
[354,45]
[]
[334,23]

나는 파이썬의 단일 목록에 라인과 APPEND에 의해 선을 읽으려고하고있다.

그것을 어떻게?

나는 시도 지금까지>

with open("pos.txt","r") as filePos:
    pos_lists=filePos.read()
new_list=[]
for i in pos_lists.split("\n"):
    print(type(i)) #it is str i want it as list
    new_list.extend(i)

print(new_list)

사전에 감사합니다

Sayandip 두타 :

이러한 시도 할 수 있습니다 :

>>> from ast import literal_eval
>>> with open(YOURTEXTFILE) as f:
...    final_list = [literal_eval(elem) for elem in f.readlines()]
>>> final_list
[[234, 343, 234], [23, 45, 34, 5], [354, 45], [], [334, 23]]

또는,

>>> from ast import literal_eval
>>> with open(YOURTEXTFILE) as f:
...    final_list = sum(map(literal_eval, s.readlines()), [])
>>> final_list
[234, 343, 234, 23, 45, 34, 5, 354, 45, 334, 23]

당신이 원하는 어느.

같은 일이 파이썬 내장하여 수행 할 수 eval()있지만, 그것은 사용하지 않는 것이 좋습니다 eval()대신 사용, 신뢰할 수없는 코드에 ast.literal_eval()매우 제한된 데이터 유형에서 작동한다. 이에 대한 자세한 내용을 참조 파이썬의 평가를 () 대 ast.literal_eval ()를 사용하여?

추천

출처http://10.200.1.11:23101/article/api/json?id=4524&siteId=1