有没有一种“简单明了”的方法将包含数字的字符串转换为[x,y]整数列表?
顺便提一句,下面的方法是可行的,但并不简单... 同时,假设输入的字符串已经通过验证,以确保它只包含逗号交错的偶数个数字。
# from: '5,4,2,4,1,0,3,0,5,1,3,3,14,32,3,5'
# to: [[5, 4], [2, 4], [1, 0], [3, 0], [5, 1], [3, 3], [14, 32], [3, 5]]
顺便提一句,下面的方法是可行的,但并不简单... 同时,假设输入的字符串已经通过验证,以确保它只包含逗号交错的偶数个数字。
num_str = '5,4,2,4,1,0,3,0,5,1,3,3,14,32,3,5'
numpairs_lst = [] # ends up as [[5, 4], [2, 4], [1, 0], ...]
current_num_str = '' # the current num within the str; stop when a comma is found
xy_pair = [] # this is one of the [x,y] pairs -> [5, 4]
for ix,c in enumerate(num_str):
if c == ',':
xy_pair.append(int(current_num_str))
current_num_str = ''
if len(xy_pair) == 2:
numpairs_lst.append(xy_pair)
xy_pair = []
else:
current_num_str += c
# and, take care of last number...
xy_pair.append(int(current_num_str))
numpairs_lst.append(xy_pair)
[[x,y] for x,y in zip(num_str.split(',')[::2],num_str.split(',')[1::2])]
- dawg