我有以下形式的字符串:從字符串創建的元組(X,Y)的列表
POLYGON((159.5 534.5,157.5 535.5,157.5 554.5,155.5 557.5,...))
我想將它轉化成這樣的元組的列表:
[(159.5,534.5)(157.5,535.5)(157.5,554.5)(155.5,557.5), ...]
謝謝
我有以下形式的字符串:從字符串創建的元組(X,Y)的列表
POLYGON((159.5 534.5,157.5 535.5,157.5 554.5,155.5 557.5,...))
我想將它轉化成這樣的元組的列表:
[(159.5,534.5)(157.5,535.5)(157.5,554.5)(155.5,557.5), ...]
謝謝
就像一個選項,你可以試試這個:
data = "POLYGON ((159.5 534.5, 157.5 535.5, 157.5 554.5, 155.5 557.5))"
print [tuple(map(float, x.split())) for x in data.replace('POLYGON ((', '').replace('))', '').strip().split(', ')]
或者沒有列表理解:
data = data.replace('POLYGON ((', '').replace('))', '').strip()
res = []
for rec in data.split(', '):
res.append(tuple(float(val) for val in rec.split()))
這一個工作正常 – 2013-03-22 03:53:47
>>> re.findall(r'([\d\.]+)\s([\d\.]+)', the_string)
[('159.5', '534.5'), ('157.5', '535.5'), ('157.5', '554.5'), ('155.5', '557.5')]
然後,只需將每個項目浮動
什麼你有沒有嘗試過?如果你還沒有,至少可以給它一點時間 - 你會學到的不僅僅是要求解決方案。 – 2013-03-22 03:35:25
http://stackoverflow.com/questions/3945856/converting-string-to-tuple-and-adding-to-tuple – 2013-03-22 03:35:26