【问题标题】:Using str.replace for list of list [duplicate]将 str.replace 用于列表列表 [重复]
【发布时间】:2019-12-14 06:22:20
【问题描述】:
x =  ['[1867, 1868]', '[6612663]']

预期输出:

x =  [[1867, 1868], [6612663]]

我试过了,

x = [item.replace("'", "") for item in x]

没用。

有人可以帮忙吗?

【问题讨论】:

  • 您是否正在尝试将字符串化的整数列表解析为实际的整数列表?请澄清。
  • @ggorlen 是的,输入列表是根据字典的键创建的。所以键(列表)存储为字符串。它不是另一个问题的重复
  • 感谢您的澄清。重复的建议是否解决了问题?看来您可以进行列表理解,因此您可以将两种技术 [ast.literal_eval(e) for e in x]map(ast.literal_eval, x) 结合起来作为迭代器。我建议在发布之前彻底搜索网站。
  • @ggorlen 是的,它解决了我的问题。抱歉,我不知道 ast.literal,也没有使用这些关键字进行搜索
  • 没关系,它发生了。我在谷歌搜索“python 将字符串列表转换为列表”以找到答案。

标签: python string list replace


【解决方案1】:

您可以将ast.literal_evallist comprehension 一起使用:

import ast

x =  ['[1867, 1868]', '[6612663]']
new = [ast.literal_eval(ls) for ls in x]
print(new)

输出:

[[1867, 1868], [6612663]]

【讨论】:

  • @ggorlen :D 错字
猜你喜欢
  • 1970-01-01
  • 2018-05-26
  • 1970-01-01
  • 1970-01-01
  • 2011-01-14
  • 2020-11-01
  • 2020-09-06
  • 2015-08-05
  • 2016-08-29
相关资源
最近更新 更多