我有串象下面這樣:Python字符串兩個dimensionals列表
FuntionStr='AccName,S,Balance,N,AccrInterest,N'
我想字符串轉換兩個dimensionals列表:
FuntionList=[('AccName','S'),('Balance','N'),('AccrInterest','N')]
請幫忙給我任何的示例代碼。
問候,
我有串象下面這樣:Python字符串兩個dimensionals列表
FuntionStr='AccName,S,Balance,N,AccrInterest,N'
我想字符串轉換兩個dimensionals列表:
FuntionList=[('AccName','S'),('Balance','N'),('AccrInterest','N')]
請幫忙給我任何的示例代碼。
問候,
你的預期輸出是元組,你可以用zip
,str.split
得到的列表,並使用iter
比切片更有效。
FuntionStr='AccName,S,Balance,N,AccrInterest,N'
it = iter(FuntionStr.split(","))
print(list(zip(it,it)))
[('AccName', 'S'), ('Balance', 'N'), ('AccrInterest', 'N')]
如果你有分裂後的長短不均服務,您不想丟失任何數據,你可以使用zip_longest
:
FuntionStr='AccName,S,Balance,N,AccrInterest,N,foo'
it = iter(FuntionStr.split(","))
from itertools import zip_longest
print(list(zip_longest(it, it,fillvalue="")))]
('AccName', 'S'), ('Balance', 'N'), ('AccrInterest', 'N'), ('foo', '')]
謝謝你的代碼。它幫助我充分。 – 2015-03-25 09:35:11
@RimSovankiry,不用擔心,如果字符串不均勻會發生什麼? – 2015-03-25 09:36:35
哇很酷,返回[]。如果字符串是空白的。 – 2015-03-25 09:41:37
試試這個
temp = FuntionStr.split(',')
>>>zip(temp[::2], temp[1::2])
[('AccName', 'S'), ('Balance', 'N'), ('AccrInterest', 'N')]
爲了得到這個:
FuntionStr='AccName,S,Balance,N,AccrInterest,N'
my_list = FuntionStr.split(',')
print my_list
print zip(my_list[::2], my_list[1::2])
OUTPUT:
[('AccName','S'),('Balance','N'),('AccrInterest','N')]
這不是一個二維列表,是一個元組列表。 – lapinkoira 2015-03-25 09:29:51
如果我的回答有用,請不要忘記接受它。謝謝! – 2015-03-26 13:43:36
歡迎您,感謝您的代碼。 – 2015-03-27 03:09:36