簡體   English   中英

將元組字符串列表轉換為元組列表 python 中的 object

[英]Convert list of tuple string to list of tuple object in python

我有如下字符串:

[(.1, apple), (.2, orange), (.3, banana), (.4, jack), (.5, grape), (.6, mango)]

我需要將上面的字符串轉換為 python 中的 object,如下所示:

[('.1', 'apple'), ('.2', 'orange'), ('.3', 'banana'), ('.4', 'jack'), ('.5', 'grape'), ('.6', 'mango')]

有沒有任何有效的方法可以通過使用正則表達式或任何其他方式來轉換它?

提前致謝

您可以執行以下操作

import re

string = """[(.1, apple), (.2, orange), (.3, banana), (.4, jack), (.5, grape), (.6, mango)]"""
values = [tuple(ele.split(',')) for ele in re.findall(".\d, \w+", string)]

這輸出

print(values)
>>> [('.1', ' apple'), ('.2', ' orange'), ('.3', ' banana'), ('.4', ' jack'), ('.5', ' grape'), ('.6', ' mango')]

使用ast.literal_eval我們可以嘗試先將您的字符串轉換為有效的 Python 列表,然后再轉換為 object:

import ast
import re

inp =  "[(.1, apple), (.2, orange), (.3, banana), (.4, jack), (.5, grape), (.6, mango)]"
inp = re.sub(r'([A-Za-z]+)', r"'\1'", inp)
object = ast.literal_eval(inp)
print(object)

這打印:

[(0.1, 'apple'), (0.2, 'orange'), (0.3, 'banana'), (0.4, 'jack'), (0.5, 'grape'), (0.6, 'mango')]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM