将字符串列表转换为x,y元组列表



我正试图将['25', '25', '10', '1', '50', '25', '140', '30']转换为[(25,25),(10,1),(50,25),(140,30)],但不确定如何。我尝试了a = [tuple(val) for val in w]之类的东西,但不确定从那里去哪里。

感谢

一次遍历列表中的2项:

data = ['25', '25', '10', '1', '50', '25', '140', '30']
l = []
for i in range(0, len(data), 2):
l.append((data[i], data[i+1]))
print(l)

要同时生成两个条目,您可以尝试这样做:

data = ['25', '25', '10', '1', '50', '25', '140', '30']
result = list(zip(map(eval, data[0::2]), map(eval, data[1::2])))

我的逻辑是:我们必须迭代列表并将其添加到另一个空列表中。让我们用while循环来做。我们将取一个从0开始的变量i(因为索引从0开始),然后我们将使用while循环,while i<len(list)(因为最后一个索引是len-1),我们将创建一个list[i]和list[i+1]的元组,并将其附加到空列表。i的更新值将是2因为下一对必须从+2索引开始。代码:

x=["1","2","3","4","5","6"] #example
i=0
x1=[]
while i<len(x):
v=(int(x[i]),int(x[i+1]))
x1.append(v)
i+=2
print(x1)

最新更新