neverjpのぶらり日記

コンピューター関連の記事とぶらりと出かけた先の写真など

リスト内包表記その2

f:id:neverjp:20191006215429j:plain

回文かどうかを判定する


Comprehensionその2
リスト内包表記と文字列を使って、文字列を反転する。
文字列に渡す引数としてマイナスを使うと、
最後から数えた要素を取得できることから
文字列を反転する。
「あいうえお」が反転しました。
回文であるかどうか判定した結果「True」とでました。

②⑤はs == "".join(reversed(s))と等価(rs == ・・・)

人気ブログランキングへ←人気ブログランキングに参加しています。ポチっと1票を!

リスト内包表記1

f:id:neverjp:20191006163346j:plain

通例処理とリスト内包処理の例


ListComprehension1
リスト内包表記
文字列の各文字を元として、文字コード相当の数値に変換してリストを作る。
for文を使った例は①です。
この処理をリスト内包表記使って書き表したのが②です。
結果は③のようになります。

人気ブログランキングへ←人気ブログランキングに参加しています。ポチっと1票を!

ファイル'a'モードでの書き出し

f:id:neverjp:20191006150502j:plain

「a」モードによるファイルの書き出し


ファイル'a'モードでの書き出し
ファイルの末尾に追加するためにはopen()関数に「a」というモードを使います。
「w」モードを使うと、ファイルを開くたびにファイルの内容を空にしてしまいます。
アイキャッチ画像で「a」(①)モードで追加する場合、「r」モードで読み込みすると
②のように追加されて読み込まれます。

人気ブログランキングへ←人気ブログランキングに参加しています。ポチっと1票を!

Windows10のファイル名のエンコーディング

f:id:neverjp:20191005213213j:plain

Windows10のファイル名のエンコーディング



Windows10にインストールしたPython3を使って、
システムが使用しているファイル名のエンコーディング
調べます。
すると'utf-8'を使っていました。

人気ブログランキングへ←人気ブログランキングに参加しています。ポチっと1票を!

ファイル操作(文字列データの場合)

f:id:neverjp:20191005174625j:plain

ファイル操作(文字列データ)・Atom/Hydrogen

f:id:neverjp:20191005174819j:plain

ファイル操作(文字列データ)・Atom/Hydrogen、書き込まれたデータ

f:id:neverjp:20191005174952j:plain

ファイル操作(文字列データ)・PyCharmの場合

f:id:neverjp:20191005175120j:plain

ファイル操作(文字列データ)・PyCharmの場合(読み込み)





ファイル操作(文字列データの場合)
以前、イメージファイル操作について述べた。
例えばフェルメールの「真珠の耳飾りの少女」の表示などである。
ここではもっと単純な文字列の書き込み、読み出しの例をAtom・Hydrogen、PyCharmで表示する。
'w'は何度同じものを書き込んでも同じデータが書き込まれる。
'a'にするとファイルの終わりに追加される。
単純だがPythonの基本なので取り上げた。

人気ブログランキングへ←人気ブログランキングに参加しています。ポチっと1票を!

 

Atom(Alt + R)(文字化け)

f:id:neverjp:20191003154635j:plain

Hydrogen(Shift + Enter)文字化けせず(①)

f:id:neverjp:20191003154844j:plain

Atom(Alt + R)で結果が文字化けしている様子(②)


 

以前からHydrogenで日本語の表示はうまくいっていたがAtom(Alt + R)で日本語を表示させると文字化けが起きてしまっていた。何が原因かわからなかったのでアイキャッチ画像にあるような関数を作って(encodings = ["ascii", "utf-8", "shift-jis", "euc-jp"])の4種類を利用してAtomのコードが何であってもAlt + Rで文字化けしないように試みたが②のように無駄だった。日本語表示させるためにはPyCharmを使うか、Hydrogenを使ってステップバイステップでやるしかないということが分かった。

人気ブログランキングへ←人気ブログランキングに参加しています。ポチっと1票を!