我有一个列表:
sample = ["['P001']"]
如何将其转换为:
sample = [["P001" ]]
我尝试了[[x] for x in sample]
,但输出为[["[P001]"]]
编辑:不便之处,我很抱歉,因为我在提出的问题中犯了错误。实际上是"P001"
一个字符串。再次抱歉。
我有一个列表:
sample = ["['P001']"]
如何将其转换为:
sample = [["P001" ]]
我尝试了[[x] for x in sample]
,但输出为[["[P001]"]]
编辑:不便之处,我很抱歉,因为我在提出的问题中犯了错误。实际上是"P001"
一个字符串。再次抱歉。
如果您希望输出为[['P001']]
,则可以执行以下操作:
>>> sample = ["[P001]"]
>>> [[sample[0].strip('[\]')]]
[['P001']]
但是,如果您希望输出为[[P001]]
,我不知道是否可行。 P001
不是python类型,如果P001
是之前定义的变量,则修改后的列表将保存P001
的值而不是名称本身。例如:
>>> P001 = 'something'
>>> sample = ["[P001]"]
>>> [eval(sample[0])]
[['something']]
,
这是一个字符串数组,每个字符串都包含“ [P001]”之类的模式。您需要遍历外部数组并与每个元素进行匹配以获取内部值,在本例中为“ P001”。然后,您可以根据需要附加值。
s = ["[P001]","[S002]"]
result = []
import re
for i in s:
r = re.match(r"\[(.*?)\]",i)
if r:
result.append([r.group(1)])
print(result)
[['P001'],['S002']]
,
只需对字母数字字符使用正则表达式即可完成
sample = ["[P001,P002]","[P003,P004]"]
import re
sample = [re.findall("\w+",sublist) for sublist in sample]