n坐标网格的Python字符串连接

2024-04-24 05:00:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我有N个字符串,其中包含X和Y坐标的像素值,例如:

{ #010101 #010101 #010101 #010101 #010101 }  
{ #010101 #010101 #010101 #010101 #010101 }  
{ #020202 #020202 #030303 #020202 #010101 }  
{ #020202 #030303 #050505 #030303 #010101 }  
{ #020202 #030303 #0f0f0f #040404 #020202 }  
{ #030303 #0c0c0c #0f0f0f #0f0f0f #030303 }  
{ #040404 #0b0b0b #ffffff #ffffff #040404 }  
{ #0a0a0a #ffffff #ffffff #ffffff #050505 }  
{ #ffffff #ffffff #ffffff #ffffff #040404 }  
{ #ffffff #ffffff #ffffff #ffffff #040404 }

第二根弦呢

{ #040404 #020202 #010101 #010101 #010101 }  
{ #040404 #020202 #010101 #010101 #000000 }  
{ #050505 #020202 #010101 #010101 #000000 }  
{ #040404 #020202 #010101 #010101 #000000 }  
{ #030303 #010101 #010101 #010101 #000000 }  
{ #020202 #010101 #010101 #010101 #000000 }  
{ #010101 #010101 #010101 #010101 #000000 }  
{ #010101 #010101 #010101 #000000 #000000 }  
{ #010101 #010101 #010101 #000000 #000000 }  
{ #010101 #010101 #010101 #000000 #000000 } 

这表示一个10x10RGB网格。你知道吗

我的问题是,我需要连接这两个字符串,使每一行都像这样

{ #010101 #010101 #010101 #010101 #010101 040404 #020202 #010101 #010101 #010101 } ...

这个10x10网格被分成两个相等的部分,但是可以有n个拆分,因此字符串连接需要能够处理这个问题。你知道吗

谢谢你的帮助。你知道吗


Tags: 字符串网格像素ffffff
2条回答
A = "{ #010101 #010101 #010101 #010101 #010101 } { #010101 #010101 #010101 #010101 #010101 } { #020202 #020202 #030303 #020202 #010101 } { #020202 #030303 #050505 #030303 #010101 } { #020202 #030303 #0f0f0f #040404 #020202 } { #030303 #0c0c0c #0f0f0f #0f0f0f #030303 } { #040404 #0b0b0b #ffffff #ffffff #040404 } { #0a0a0a #ffffff #ffffff #ffffff #050505 } { #ffffff #ffffff #ffffff #ffffff #040404 } { #ffffff #ffffff #ffffff #ffffff #040404 }"
B = "{ #040404 #020202 #010101 #010101 #010101 } { #040404 #020202 #010101 #010101 #000000 } { #050505 #020202 #010101 #010101 #000000 } { #040404 #020202 #010101 #010101 #000000 } { #030303 #010101 #010101 #010101 #000000 } { #020202 #010101 #010101 #010101 #000000 } { #010101 #010101 #010101 #010101 #000000 } { #010101 #010101 #010101 #000000 #000000 } { #010101 #010101 #010101 #000000 #000000 } { #010101 #010101 #010101 #000000 #000000 }"

A = A.split("} {")
B = B.split("} {")

AB = zip(A,B)
res = ["{"+"".join(i).replace("{", "").replace("}", "")+"}" for i in AB]
print res

Result:
['{ #010101 #010101 #010101 #010101 #010101  #040404 #020202 #010101 #010101 #010101 }', '{ #010101 #010101 #010101 #010101 #010101  #040404 #020202 #010101 #010101 #000000 }', '{ #020202 #020202 #030303 #020202 #010101  #050505 #020202 #010101 #010101 #000000 }', '{ #020202 #030303 #050505 #030303 #010101  #040404 #020202 #010101 #010101 #000000 }', '{ #020202 #030303 #0f0f0f #040404 #020202  #030303 #010101 #010101 #010101 #000000 }', '{ #030303 #0c0c0c #0f0f0f #0f0f0f #030303  #020202 #010101 #010101 #010101 #000000 }', '{ #040404 #0b0b0b #ffffff #ffffff #040404  #010101 #010101 #010101 #010101 #000000 }', '{ #0a0a0a #ffffff #ffffff #ffffff #050505  #010101 #010101 #010101 #000000 #000000 }', '{ #ffffff #ffffff #ffffff #ffffff #040404  #010101 #010101 #010101 #000000 #000000 }', '{ #ffffff #ffffff #ffffff #ffffff #040404  #010101 #010101 #010101 #000000 #000000 }']

下面是返回串联字符串的可能解决方案:

A = "{ #010101 #010101 #010101 #010101 #010101 } { #010101 #010101 #010101 #010101 #010101 } { #020202 #020202 #030303 #020202 #010101 } { #020202 #030303 #050505 #030303 #010101 } { #020202 #030303 #0f0f0f #040404 #020202 } { #030303 #0c0c0c #0f0f0f #0f0f0f #030303 } { #040404 #0b0b0b #ffffff #ffffff #040404 } { #0a0a0a #ffffff #ffffff #ffffff #050505 } { #ffffff #ffffff #ffffff #ffffff #040404 } { #ffffff #ffffff #ffffff #ffffff #040404 }"
B = "{ #040404 #020202 #010101 #010101 #010101 } { #040404 #020202 #010101 #010101 #000000 } { #050505 #020202 #010101 #010101 #000000 } { #040404 #020202 #010101 #010101 #000000 } { #030303 #010101 #010101 #010101 #000000 } { #020202 #010101 #010101 #010101 #000000 } { #010101 #010101 #010101 #010101 #000000 } { #010101 #010101 #010101 #000000 #000000 } { #010101 #010101 #010101 #000000 #000000 } { #010101 #010101 #010101 #000000 #000000 }"

A = A[:-1].replace("{ ", "").replace("} ","|").split("|")
B = B[:-1].replace("{ ", "").replace("} ","|").split("|")
res = ["{ "+"".join(i) + "}" for i in list(zip(A,B))]
resString = "\n".join(r for r in res)
print(resString)

输出:

{ #010101 #010101 #010101 #010101 #010101 #040404 #020202 #010101 #010101 #010101 }
{ #010101 #010101 #010101 #010101 #010101 #040404 #020202 #010101 #010101 #000000 }
{ #020202 #020202 #030303 #020202 #010101 #050505 #020202 #010101 #010101 #000000 }
{ #020202 #030303 #050505 #030303 #010101 #040404 #020202 #010101 #010101 #000000 }
{ #020202 #030303 #0f0f0f #040404 #020202 #030303 #010101 #010101 #010101 #000000 }
{ #030303 #0c0c0c #0f0f0f #0f0f0f #030303 #020202 #010101 #010101 #010101 #000000 }
{ #040404 #0b0b0b #ffffff #ffffff #040404 #010101 #010101 #010101 #010101 #000000 }
{ #0a0a0a #ffffff #ffffff #ffffff #050505 #010101 #010101 #010101 #000000 #000000 }
{ #ffffff #ffffff #ffffff #ffffff #040404 #010101 #010101 #010101 #000000 #000000 }
{ #ffffff #ffffff #ffffff #ffffff #040404 #010101 #010101 #010101 #000000 #000000 }

相关问题 更多 >