今回は要素の位置によって取得したい文字数が変わるという問題です.
単純に1文字取得か,2文字取得かの二択なので,if文で分岐させることを考えます.
03の問題と同様にテキストをsplitしてリスト化し,そのリストの要素位置によって出力が変わるようにリスト内包表記でfor文を回します.
リスト内包表記はコードの行数を抑えられることや速度が早いという特徴があります.
その一方で,処理がわかりづらいという面もあるので,今回は下記に普通にfor文で回した際のコードも記載しておきます.(特にif文が絡むとわかりづらい…)

text = "Hi He Lied Because Boron Could Not Oxidize Fluorine. New Nations Might Also Sign Peace Security Clause. Arthur King Can."
word_list = text.split(" ")
one_word = [1, 5, 6, 7, 8, 9, 15, 16, 19]
ans_list = []
for i,word in enumerate(word_list):
if i+1 in one_word:
ans_list.append(word[0])
else:
ans_list.append(word[:2])
print(ans_list)
# ['H', 'He', 'Li', 'Be', 'B', 'C', 'N', 'O', 'F', 'Ne', 'Na', 'Mi', 'Al', 'Si', 'P', 'S', 'Cl', 'Ar', 'K', 'Ca']