"8,5,1,4,7 ,,,, 7,1,9,3,6 ,,, 8,6,3,9,2,5,4 ,,,,, 3,2 ,,, 7,4,1,1,4,6,9,...,5 ,,,, 5 ,,, 1,,6,3 ,,, 6,5 ,,,, 7,4 ,, 1,7,6 ,,,, 8日,5 ,,, 7,1,,3,9,"
我正在进行编程挑战,我需要将此序列解析为我的数独脚本.需要将上述序列放入8,5,0,1,4,7,0,0,0,7,0,1,9,3,6,0,0,8 ........我尝试了但是没有成功,感谢帮助.
unu*_*tbu 11
你可以用
[(int(x) if x else 0) for x in data.split(',')]
Run Code Online (Sandbox Code Playgroud)
data.split(',')将字符串拆分为一个列表.它分裂为逗号字符:
['8', '5', '', '1', '4', '7', '', '', '', ...]
Run Code Online (Sandbox Code Playgroud)
表达方式
(int(x) if x else 0)
Run Code Online (Sandbox Code Playgroud)
int(x)如果x为True则返回0,如果x为False 则返回0 .请注意,空字符串为False.
Python中通常不需要正则表达式.给定字符串s,尝试:
','.join(x or '0' for x in s.split(','))
Run Code Online (Sandbox Code Playgroud)
我假设你想用0填充空白.如果你想要一个整数列表而不是一个字符串,试试这个:
[(x and int(x)) or 0 for x in s.split(',')]
Run Code Online (Sandbox Code Playgroud)