您可以使用ast.literal_eval():
安全地评估表达式节点或包含 Python 表达式的字符串。提供的字符串或节点只能包含以下 Python 文字结构:字符串、数字、元组、列表、字典、布尔值和 None。
这可用于安全地评估包含来自不受信任来源的 Python 表达式的字符串,而无需自己解析这些值。
在你的例子中:
from ast import literal_eval
s = '(1,2,3,4,5),(5,4,3,2,1)'
l = literal_eval(s)
print l
# ((1, 2, 3, 4, 5), (5, 4, 3, 2, 1))
print [(x[0], x[-1]) for x in l]
# [(1, 5), (5, 1)]