質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

915閲覧

(パイソン初学者です)文字列を集合に変換したとき、もとの文字列の中に何回文字が出てきたかの情報が集合に残るのですか?

yukako

総合スコア1

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/05/17 13:11

現在学んでいる部分

word = "letters"
letter_counts = {}
for w in set(word):
letter_counts[w] = word.count(w)
print(letter_counts)
{'s': 1, 'r': 1, 'e': 2, 'l': 1, 't': 2}

疑問を持った箇所

python

1word = "letters" 2for w in set(word): 3 letter_counts[w] = word.count(w) 4print(letter_counts) 5{'s': 1, 'r': 1, 'e': 2, 'l': 1, 't': 2}

文字列を集合に変換すると、重複している文字は一つにまとめられると学びました。
しかし、上記のコードでは
'e'が2回、't'が2回とカウントされており、もとの文字列の中に何回その文字があったかという情報が集合のなかに含まれているように思いました。

疑問点

python

1>>> x=set("letters") 2{'l','e','t','r','s'}

上記のように文字列を集合に変換すると重複した文字は一つに集約されると学んだのですが、
実は集合にはもとの文字列に何回その文字があったのかの情報を含んでいるのでしょうか。

試したこと

・入門Python3の集合部分を読み込んだ
・ネット上で上記情報について調べた

補足情報

私は現在大学生なのですが、
Pythonを学び始めたばかりで、とても初歩的な質問になってしまい申し訳ないです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

実は集合にはもとの文字列に何回その文字があったのかの情報を含んでいるのでしょうか。

いいえ。
カウントしているのは word.count(w) の方です。

投稿2020/05/17 13:16

LouiS0616

総合スコア35668

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yukako

2020/05/17 13:28

ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問