val = []
for c in f:
val.append(ord(c))
val = [w - 5 if w > 20 else w for w in val]
元のテキストファイルには、スペースが多い文章が含まれています。テキストファイルをASCIIコードに変換するときには、スペースもASCIIコードに変換されます。リストから空白を削除するにはどうすればよいですか? Python
val = []
for c in f:
val.append(ord(c))
val = [w - 5 if w > 20 else w for w in val]
元のテキストファイルには、スペースが多い文章が含まれています。テキストファイルをASCIIコードに変換するときには、スペースもASCIIコードに変換されます。リストから空白を削除するにはどうすればよいですか? Python
現在、あなたのforループは、f
からval
にあるすべての文字を付加します。 、あなたのforループで
val = []
for c in f:
if c != ' ':
val.append(ord(c))
val = [w - 5 if w > 20 else w for w in val]
f.replace(' ','')
に変更f
を:変数c
は、あなたは、単にif
文で事前に' '
の存在を確認することができますので、追加されようとしている文字を保持しています。それはスペースを削除します。
このコードは動作するはずです:
val = []
for c in f.replace(' ',''):
val.append(ord(c))
val = [w - 5 if w > 20 else w for w in val]
置き換え(2つのループを使用する)を行うのではなく、文字を確認するのが一番良いと思います。彼はすでに弦をループしています。 – user161778
c in f
とord(c)
から私はf
がstr
であると仮定しています。 if c
フィルタはスペースを排除します。
codes = (ord(c) for c in f if c)
# codes is a genex. Now you can use it any way you want, e.g
codes_ = [code-5 if code > 20 else code for code in codes]
あなたが読んでいるファイルのサンプルと正確な予想出力を表示できますか? – idjaw
[最小限の完全で検証可能な例](http://stackoverflow.com/help/mcve)を入力してください。私はあなたのコードがタイトルの質問と何をしているのか分かりません。 – timgeb
@timgebコードは彼が文字をintに変換することを示しています。それは完全に関連するIMOです。 – user161778