Python 3.x 用户是否输入元组列表?

Python 3.x 用户是否输入元组列表?,python-3.x,Python 3.x,我使用spyder来编码这个项目,如果这有帮助的话 我正在尝试接受用户输入:(a,a),(b,b),(c,c),(d,d) 并将元组存储到如下列表中:[('a','b'),('b','b'),…等等 我试着用逗号分割,但它会错误地分割中间元组 我应该怎么做呢?这是(我相信)你想要的。我只在括号I.split('),(')之间的逗号处拆分,然后删除现在不需要的括号,并在剩余的逗号处拆分。(对不起,内联格式可能很奇怪) 这是假设您的输入中没有空格。如果可能有空格,您必须去掉这些空格。i=i.repl

我使用spyder来编码这个项目,如果这有帮助的话

我正在尝试接受用户输入:(a,a),(b,b),(c,c),(d,d)

并将元组存储到如下列表中:[('a','b'),('b','b'),…等等

我试着用逗号分割,但它会错误地分割中间元组

我应该怎么做呢?

这是(我相信)你想要的。我只在括号
I.split('),(')
之间的逗号处拆分,然后删除现在不需要的括号,并在剩余的逗号处拆分。(对不起,内联格式可能很奇怪)

这是假设您的输入中没有空格。如果可能有空格,您必须去掉这些空格。
i=i.replace(“”),


这将返回
[('a','a'),('b','b'),('c','c'),('d','d')]
您可以通过步骤将其分解。从您提供的示例开始,我就用字符串保存它。但是如果您知道输入将是整数,可以在列表理解中强制它为整数

import re

input = '(a,a),(b,b),(c,c),(d,d)'
breakdown = re.findall('\(.*?,.*?\)', input)
tup_ls = []
for i in breakdown:
    tup_ls.append(tuple([x for x in i[1:-1].split(',')]))
投入:3

1 2
3 4
5 6
Output => [(1, 2), (3, 4), (5, 6)]

map
在某些情况下比列表理解所花费的时间和内存更少。当我计算map所花费的时间时,它比列表理解所花费的时间要少,所以它是省时的。

首先要做的事情:显示你的代码!:-)
map
在某些情况下比列表理解所花费的时间和内存更少。你知道吗举个例子?
t = list(tuple(map(int,input().split())) for r in range(int(input('enter no of rows : ')))) 
print(t)
1 2
3 4
5 6
Output => [(1, 2), (3, 4), (5, 6)]