如果我的问题太基础,请原谅我,因为我不熟悉python。
我有一个字符串如下。
Data=['A', 'B', 'C', 'X [7:0] Y', '[3:0] K' ]
我想将其更改为以下格式。
Data=['A', 'B', 'C', 'Y X [7:0]', 'K [3:0]']
在python中有没有办法做到这一点。
答案 0 :(得分:2)
l=[]
for string in Data:
if '[' in string:
l.append(string[string.index(']')+1:].strip()+" "+string[:string.index('[')]+string[string.index('['):string.index(']')+1].strip())
else:
l.append(string)
print(l)
输出:
['A', 'B', 'C', 'Y X [7:0]', 'K [3:0]']
答案 1 :(得分:0)
一种方法是使用辅助函数并使用str.split
。这可能不是最有效的答案,但它应该让您了解如何构建逻辑。
def mover(x):
if '[' in x:
lst = x.split() # split by whitespace
idx = next(i for i, j in enumerate(lst) if '[' in j) # find index
lst.append(lst.pop(idx)) # move item to end
return ' '.join(lst)
else:
return x
Data = ['A', 'B', 'C', 'X [7:0] Y', '[3:0] K' ]
res = [mover(x) for x in Data]
print(res)
['A', 'B', 'C', 'X Y [7:0]', 'K [3:0]']