Python 从列表中的字符串中翻转项目

Python 从列表中的字符串中翻转项目,python,string,file,Python,String,File,当我读入.txt文件时,如下所示: with open("sample.txt") as f: content = f.readlines() for row in content: print(row) 我有以下意见: ['k'], ['m'] 我想将此转化为: [k, m] 所以我试着 with open("sample.txt") as f: content = f.readlines() for row in content: items = items.repla

当我读入.txt文件时,如下所示:

with open("sample.txt") as f:
 content = f.readlines()
 for row in content:
  print(row)
我有以下意见:

['k'], ['m']
我想将此转化为:

[k, m]
所以我试着

with open("sample.txt") as f:
 content = f.readlines()
 for row in content:
  items = items.replace('\'', '') for item in items
  row_analyze = ','.join(items)
然而,这给了我:

[,,k,,],,,[,,m,,],

关于我在这里做错了什么有什么想法吗?

sting
['k'],['m']
,实际上代表一个列表元组,您只需使用
ast.literal\u eval()
函数将其转换为python元组对象,然后使用
itertools.chain()
函数链接列表:

In [1]: s = "['k'], ['m']"

In [2]: import ast

In [3]: ast.literal_eval(s)
Out[3]: (['k'], ['m'])

In [4]: from itertools import chain

In [6]: list(chain.from_iterable(ast.literal_eval(s)))
Out[6]: ['k', 'm']

您的
似乎是字符串
“['k'],['m']”
。如果您想将其转换为
“[k,m]”
,一些简单的
replace
语句就足够了。首先,删除
,但是,不要用
将字符串中的字符连接到
,而是将剩余的
,[
替换为

>>> row = "['k'], ['m']"
>>> row.replace("'", '')
'[k], [m]'
>>> row.replace("'", "").replace("], [", ", ")
'[k, m]'

文件中真正包含的数据是什么?
items=items。items中的item替换('\'','')没有意义。您的意思是
items=[item.replace('\'','')用于行中的item]
?再回过头来看,
'sample.txt'
是从哪里来的?您可能可以避免使用这个中间文件,或者通过
pickle
json
模块将其正确存储为python对象,OP似乎希望像
[k,m]
那样输出,而不使用