Python3 初心者向け問題集002:リスト

Python問題集

問002.【11問】

答えと解説は下にあります。
問題番号をクリックすると、答えに飛びます。

(1)
1~10までの数字を小さい順に数値型で並べたリストを出力してください。

(2)
(1)で作成したリストについて、
① 左から5番目の要素を出力してください。
② 右から3番目の要素を出力してください。

(3)
‘HelloPython’という文字列から1文字ずつ取り出したリストを出力してください。
つまり、’H’,’e’,’l’,’l’,’o’,’P’,’y’,’t’,’h’,’o’,’n’を要素とするリストを出力してください。

(4)
(3)で作成したリストについて、
① 要素の個数を出力してください。
② 要素’o’の個数を出力してください。

(5)
リスト greeting_0 = [‘H’,’a’,’l’,’l’,’o’] があります。
greeting_0 の要素’a’ を’e’ に変更して、greeting_0を出力してください。

(6)
リスト greeting_1 = [‘Good’] があります。
greeting_1 の’Good’の後ろに’Morning’を追加して、greeting_1を出力してください。

(7)
リスト greeting_2 = [‘How’, ‘you’, ‘doing’] があります。
greeting_2 の’you’の前に’are’を追加して、greeting_2を出力してください。

(8)
リスト greeting_3 = [‘Hi!’, ‘How are you?’, ‘Not too bad.’] があります。
greeting_3 の要素 ‘Not too bad.’ を削除して、greeting_3を出力してください。

(9)
リスト greeting_4 = [‘r’, ‘u’, ‘o’, ‘j’, ‘n’, ‘o’, ‘B’] があります。
greeting_4 の要素を逆順に並べ替えて、greeting_4を出力してください。

(10)
リスト numbers = [1,5,9,10,8,6,7,2] があります。
numbersの要素を小さい順に並べ替えた新しいリストNumbersを出力してください。
この際、numbersは変更しないようにしてください。

(11)
リスト letters = [‘A’, ‘B’, ‘C’, ‘D’, ‘E’, ‘F’, ‘G’] があります。
① letters の要素 ‘A’ と ‘E’ のインデックス番号をそれぞれ出力してください。
② letters の要素に ‘G’ や ‘H’ が含まれているか、それぞれ判定してください。
  (含まれている:True 含まれていない:False)

答えと解説は下にあります。
問題番号をクリックすると、答えに飛びます。

答002.+解説

(1)の答え

1~10までの数字を小さい順に数値型で並べたリストを出力してください。

#解答例1
intlist = [1,2,3,4,5,6,7,8,9,10]
print(intlist)

#解答例2
intlist = []
for i in range(1,11):
    intlist.append(i) # ここはintlist += [i]でもよい
print(intlist)

pythonのリストは、
[ ] 大カッコ
を用いて作成します。

(2)の答え

(1)で作成したリストについて、
① 左から5番目の要素を出力してください。
② 右から3番目の要素を出力してください。

#解答例
print(intlist[4])
print(intlist[-3]) # ← print(intlist[8])と同じ

リストの要素にはそれぞれ
「インデックス値」
という番号が順番につけられています。

インデックス値は、リストの左から順に
0 → 1 → 2 → 3 → …
となっています。

例えば、
左から3番目の要素のインデックス値は2です。

一番左のインデックス値が0であることに注意しましょう。

リスト名[インデックス値]

で、リストの要素を1つ取り出すことができます。

ちなみに、
インデックス値は後ろから数えることもできて、
… ← -3 ← -2 ← -1
というインデックス値が与えられています。

(3)の答え

‘HelloPython’という文字列から1文字ずつ取り出したリストを出力してください。
つまり、’H’,’e’,’l’,’l’,’o’,’P’,’y’,’t’,’h’,’o’,’n’を要素とするリストを出力してください。

#解答例
greeting = list('HelloPython')
print(greeting)

list( )

を使うと、
カッコ内に入れた文字列・辞書などを
リストに変換してくれます。

カッコ内に文字列を入れた場合は、
文字の1つ1つがリストの要素になって
リスト化されます。

(4)の答え

(3)で作成したリストについて、
① 要素の個数を出力してください。
② 要素’o’の個数を出力してください

#解答例
print(len(greeting))
print(greeting.count('o'))

len( )

を使うと、
カッコ内に入れた文字列・リスト・辞書・タプルなどの
長さ要素の個数を調べてくれます。

リスト名 . count ( リストの要素 )

で、カッコ内に入れたリストの要素が
リスト内に何個あるかを調べてくれます。

(5)の答え

リスト greeting_0 = [‘H’,’a’,’l’,’l’,’o’] があります。
greeting_0 の要素’a’ を’e’ に変更して、greeting_0を出力してください。

#解答例
greeting_0 = ['H','a','l','l','o']
greeting_0[1] = 'e'
print(greeting_0)

リスト名 [ インデックス値 ] = 変更後の要素

で、リストの要素を変更できます。

左端のインデックス値は0であることに注意!

(6)の答え

リスト greeting_1 = [‘Good’] があります。
greeting_1 の’Good’の後ろに’Morning’を追加して、greeting_1を出力してください。

#解答例
greeting_1 = ['Good']
greeting_1.append('Morning') 
print(greeting_1)

リスト名 . append ( 追加する要素 )

で、リストの最後尾に要素を追加することができます。

ちなみに、
greeting[1] = ‘Morning’ など、
元のリストにないインデックス値を指定して追加することはできません。
エラーになります。

(7)の答え

リスト greeting_2 = [‘How’, ‘you’, ‘doing’] があります。
greeting_2 の’you’の前に’are’を追加して、greeting_2を出力してください。

#解答例
greeting_2 = ['How', 'you', 'doing']
greeting_2.insert(1,'are')
print(greeting_2)

リスト名 . insert ( インデックス値 , 追加する要素 )

で、リストの途中に要素を追加できます。

‘How’ と ‘you’ の間に追加したいなら、
右側の ‘you’ のインデックス値を入力してください。

(8)の答え

リスト greeting_3 = [‘Hi!’, ‘How are you?’, ‘Not too bad.’] があります。
greeting_3 の要素 ‘Not too bad.’ を削除して、greeting_3を出力してください。

#解答例1
greeting_3 = ['Hi!', 'How are you?', 'Not too bad.']
del greeting_3[2]
print(greeting_3)

#解答例2
greeting_3 = ['Hi!', 'How are you?', 'Not too bad.']
greeting_3.remove('Not too bad.')
print(greeting_3)

del リスト名 [インデックス値]

で、リストの要素を削除できます。

リスト名 . remove ( 削除する要素 )

でも削除可能です。

しかし、[‘A’, ‘A’, ‘B’] のように
同じ要素が含まれている場合は、
最も左側にある要素だけを削除します

(9)の答え

リスト greeting_4 = [‘r’, ‘u’, ‘o’, ‘j’, ‘n’, ‘o’, ‘B’] があります。
greeting_4 の要素を逆順に並べ替えて、greeting_4を出力してください。

#解答例
greeting_4 = ['r', 'u', 'o', 'j', 'n', 'o', 'B']
greeting_4.reverse()
print(greeting_4)

リスト名 . reverse ( )

で、リストの順番を真逆にできます。

これは、逆順にするだけのものなので、
print( リスト名.reverse() )
としても、None と出力されます。

(10)の答え

リスト numbers = [1,5,9,10,8,6,7,2] があります。
numbersの要素を大きい順に並べ替えた新しいリストNumbersを出力してください。
この際、numbersは変更しないようにしてください。

#解答例
numbers = [1,5,9,10,8,6,7,2]
Numbers = sorted(numbers, reverse=True)
print(Numbers)

sorted ( リスト名 , reverse = True )

で、リストの要素を逆順にしたものを返します。
sortedでは、元のリストは変更されません。

reverse = True にすると昇順に、
reverse = False にすると降順になります。
reverse = False は省略可能です。

(11)の答え

リスト letters = [‘A’, ‘B’, ‘C’, ‘D’, ‘E’, ‘F’, ‘G’] があります。
① letters の要素 ‘A’ と ‘E’ のインデックス番号をそれぞれ出力してください。
② letters の要素に ‘G’ や ‘H’ が含まれているか、それぞれ判定してください。
  (含まれている:True 含まれていない:False)

#解答例
letters = ['A', 'B', 'C', 'D', 'E', 'F', 'G']
print(letters.index('A'))
print(letters.index('E'))
print('G' in letters)
print('H' in letters)

リスト名 . index ( リストの要素 )

で、カッコ内に入れた要素の
インデックス値を返します。

要素 in リスト名

で「in」の前に置いた要素が
リストの中に入っているか判定してくれます。

返り値はTrueまたはFalseです。

※万が一、問題・解答・解説に不備がありましたら、お問い合わせまたはTwitterで報告してください。

記事への意見・感想はコチラ