teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追加

2021/03/16 12:23

投稿

ppaul
ppaul

スコア24672

answer CHANGED
@@ -9,4 +9,31 @@
9
9
  方法3
10
10
  (単語、意味、用例)のようにタプルにするかリストにして読み込み、条件に合うものだけを取りだして使うようにするのがお勧めです。
11
11
 
12
- コードは簡単ですが、全て教えてしまうと勉強にならないので、自分でやってみて分からなければまた質問してください。
12
+ コードは簡単ですが、全て教えてしまうと勉強にならないので、自分でやってみて分からなければまた質問してください。
13
+
14
+ わからないということなので、サンプルを書いておきます。
15
+ これを元にして、考えてください。
16
+
17
+ ```python
18
+ >>> def read_words(filename):
19
+ ... with open(filename, 'r', encoding='utf_8') as file:
20
+ ... words = [line.strip().split('\t') for line in file.readlines()]
21
+ ... return words
22
+ ...
23
+ >>> def select_word(words, letter):
24
+ ... return [word for word in words if word[0].startswith(letter)]
25
+ ...
26
+ >>> first_letter = 'b'
27
+ >>> all_words = read_words("文字列読込2ab.txt")
28
+ >>> selected_words = select_word(all_words, first_letter)
29
+ >>> print('selected_words:', selected_words)
30
+ selected_words: [['bedlam', '不穏な騒ぎ、混乱、気違いざた〔差別語〕', 'Stay away from their bedlam. あの人達に関わるな。'], ['behest', '(古)命令、依頼', 'at his behest 彼の命令・要請で']]
31
+ >>> print('selected_words[0]:', selected_words[0])
32
+ selected_words[0]: ['bedlam', '不穏な騒ぎ、混乱、気違いざた〔差別語〕', 'Stay away from their bedlam. あの人達に関わるな。']
33
+ >>> print('selected_words[0][0]:', selected_words[0][0])
34
+ selected_words[0][0]: bedlam
35
+ >>> print('selected_words[0][1]:', selected_words[0][1])
36
+ selected_words[0][1]: 不穏な騒ぎ、混乱、気違いざた〔差別語〕
37
+ >>> print('selected_words[0][2]:', selected_words[0][2])
38
+ selected_words[0][2]: Stay away from their bedlam. あの人達に関わるな。
39
+ ```