Python 字符串转二维列表
Python string to two dimensionals list
我有如下字符串:
FuntionStr='AccName,S,Balance,N,AccrInterest,N'
我想将字符串转换为二维列表:
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', '')]
试试这个
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])
输出:
[('AccName','S'),('Balance','N'),('AccrInterest','N')]
我有如下字符串:
FuntionStr='AccName,S,Balance,N,AccrInterest,N'
我想将字符串转换为二维列表:
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', '')]
试试这个
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])
输出:
[('AccName','S'),('Balance','N'),('AccrInterest','N')]