【问题标题】:Strip list to compare with another list [duplicate]剥离列表以与另一个列表进行比较[重复]
【发布时间】:2018-02-19 02:04:36
【问题描述】:

我尝试在 python 中导入一个列表。 但是,我想以这样的方式自定义我的代码,使列表看起来像这样:

['a', 'b', 'c']

而不是这样:

[["['a','b','c']"]]

原因是我必须比较一个列表是否在另一个列表中,当列表格式不正确时它不会成​​功。 其余代码如下所示:

def check(a1, a2):
    listA = []
    listB = []
    listA.append(a1)
    listB.append(a2)
    if listA in listB:
        print True
    else:
        print False

【问题讨论】:

  • 那么,问题是什么?
  • 您所说的“格式化良好”是什么意思,字符串和打印在这里如何发挥作用?
  • 好吧,我希望当我将 a1 附加到 listA 时,列表将被剥离(或类似的方式),这样当我打印 listA 时,它看起来就像我上面提到的那样.这样我就可以将该列表与另一个列表进行比较。

标签: python


【解决方案1】:

我不确定我是否理解正确。你在找这个吗?

a = ['some', 'list', 'items']
print ', '.join(a)

这将打印出来

some, list, items

但这可能无法解决您正在尝试做的事情。比较两个列表根本不应该涉及打印。

【讨论】:

  • 你是对的,将列表转换为字符串只是为了能够在字符串中使用in 是不好的。所以它有点答案。
  • 不,我的问题不是很清楚。我现在改变了问题。我想要这样的列表:['a', 'b', 'c'] 而不是像 [["['a','b','c']"]]。现在,它看起来像最后一个示例,因为我从 .txt 文件中获取了该数据。你明白我的意思吗?
  • 我仍然不完全确定。所以你有一个像 "['a', 'b', 'c']" 这样的字符串,你想把它变成 python 列表 ['a', 'b', 'c'] ?对吗?
  • 是的,没错!
  • 那就用我的答案,把加入的部分拿走
【解决方案2】:
import ast
weirdlist=[["['a','b','c']"]]
print(", ".join(ast.literal_eval(weirdlist[0][0])))

试试这个。格式如下:a, b, c

编辑:提问者似乎想要一个列表,而不是字符串:

import ast
weirdlist=[["['a','b','c']"]]
print(ast.literal_eval(weirdlist[0][0]))

【讨论】:

  • 只需使用ast.literal_eval...
  • 我做了编辑
猜你喜欢
  • 1970-01-01
  • 2013-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多