:代わりに、リストのリストを使用して、あなたは正確に所望の出力
def extract_line():
for line in lst:
result = []
for i in range(0, len(line) - 1, 16):
numbers = line[i:i + 16].strip()
result.append(numbers if numbers else None)
yield result
for result in extract_line():
print(result)
ウィル出力に一致するようにgeneratorを使用することができます最もエレガントな解決策が、これは現在、リスト内包として実装されている
[[(None if a.strip() == 'None' else a.strip())
for a in l.replace(' ', ' None ').split(' ') if a != ''
] for l in lst]
スペースの長さに基づいて、あなたのマッチングなし、これは動作しませんことを考えると、BU tは簡単な
new_list = []
for l in lst:
sub_list = []
for a in l.replace(' ', ' None ').split(' '):
if a != '':
item = a.strip()
sub_list.append(None if item == 'None' else item)
new_list.append(sub_list)
として読みやすいように複数行に広がることができ、いずれかの方法でも同じ結果が得られますスペースの幅の変更は、「なし」を定義していないために使用されることを念頭に置いて
[
[
'22774080.570 7', None, '1762178.392 7', '1346501.808 8', '22774088.434 8'
],
[
'20194290.688 8', None, '-2867460.044 8', '-2213132.457 9', '20194298.629 9'
]
]
ベアをこの実装の機能に影響を与えます。
何を試しましたか?問題を解決するために何か試してみると、より良い応答が得られます。 – AChampion