附加拆分输出的较短解决方案



我有一个列表,需要拆分并附加到不同的列表中。input_data包含用逗号分隔的坐标:

x1, y1, x2, y2 = [], [], [], []
for entry in input_data:
a1, b1 = entry[0].split(",")
a2, b2 = entry[1].split(",")     
x1.append(a1)
y1.append(b1)
x2.append(a2)
y2.append(b2)    

我还测试了_变量作为临时变量:

for entry in input_data:
x1.append(_), y1.append(_) = entry[0].split(",")
x2.append(_), y2.append(_) = entry[1].split(",") 

但这行不通。

另一种可能的选择是将每个条目转换为更易于管理的东西,然后转置:

preprocessed = [(*entry[0].split(","), *entry[1].split(",")) for entry in input_data]
result = list(zip(*preprocessed))

对于样本列表

input_data = [('a,b', 'c,d'), ('e,f', 'g,h'), ('i,j', 'k,l')]

这似乎产生了想要的结果:

[('a', 'e', 'i'), ('b', 'f', 'j'), ('c', 'g', 'k'), ('d', 'h', 'l')]

最新更新