見出し画像

Python資格取得への道のり 2日目


・文字列のインデックスとスライス

word = 'python'
print(word[0]) → p pythonの最初の文字
print(word[1]) → y pythonの2つ目の文字
print(word[-1]) → n pythonの最後の文字
print(word[0:2]) → py pythonの2つ目の文字までを出力
print(word[2:5]) → tho pythonの3つ目〜5つ目の文字までを出力
print(word[:2]) → py pythonの2つ目の文字までを出力
print(word[2:]) → thon pythonの3つ目の文字から最後までを出力
print(word[100]) → ないので、エラー
word[0] = 'j' → エラー
word = 'j' + word[1:]
print(word) → jython
print(word[:]) → jython
n = len(word)
print(n) → 6

・文字列のメソッド

s = 'My name is Mike, Hi Mike.'
print(s) → My name is Mike, Hi Mike.

is_start = s.strartwith('My')
print(is_start) → True sはMyから始まっていますか?始まっているのでTrue

print(s.find('Mike') → 11 Mikeはsの11番目にあるということを出力してくれる
print(s.rfind('Mike') → 20 2つ目のMikeは20番目にあるということを出力してくれる
print(s.count('Mike') → 2
print(s.capitalize() → My name is mike, hi mike. 最初の文字以外を小文字へと変換
print(s.title() → My Name Is Mike, Hi Mike. 全ての単語の頭文字を大文字へと変換
print(s.upper() → MY NAME IS MIKE, HI MIKE. 全ての文字を大文字へと変換
print(s.lower() → my name is mike, hi mike. 全ての文字を小文字へと変換
ptint(s.replace('Mike', 'Nancy')) → My name is Nancy, Hi Nancy.

・文字列の代入

対話型shell

>>> 'a is {}'.format{'test'}
'a is test'
>>> 'a is {}{}{}'. format{1, 2, 3}
'a is 1 2 3'
>>> 'a is {0}{1}{2}'. format{1, 2, 3}
'a is 1 2 3'
>>> 'a is {2}{1}{0}'. format{1, 2, 3}
'a is 3 2 1'
>>> 'My name is {0} {1}'. Watashi ha {1} {0}'.format('Jun', 'Sakai')
'My name is Jun Sakai. Watashi ha Sakai Jun'
>>> 'My name is {name} {family}'. Watashi ha {family} {name}'.format(name='Jun', family='Sakai')
'My name is Jun Sakai. Watashi ha Sakai Jun'
#{0}や{1}でも、{name}や{family}などの変数でも対応が可能

>>> str(1)
'1'
#数字を文字列に変換する方法としてstr(XXXX)という方法がある
#boon型も小数も全て文字列へと変換できる

セクション4 データー構造

・リスト型

対話型shell

>>> l = [1, 20, 4, 50, 2, 1, 2]
>>> l
[1, 20, 4, 50, 2, 1, 2]
>>> l[0]
1
>>> l[1000]
エラー
>>> l[-1]
2
>>> l[:2]
[1, 20]
>>> l[2:]
[4, 50, 2, 1, 2]
>>> len[l]
7
>>> type[l]
<class 'list'>

文字列からリストへの変換
>>>list('abcdefg')
['a','b','c','d','e','f','g']

>>> n = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> n[::2]
[1, 3, 5, 7, 9]
>>> n[::-1]
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
#2つ飛ばしや逆からの表示は「::」が必要

ネスト
>>> a = ['a', 'b', 'c']
>>> n = [1, 2, 3]
>>> x = [a, n]
>>> x
[['a', 'b', 'c'], [1, 2, 3]]
>>> x[0]
['a', 'b', 'c']
>>> x[1]
[1, 2, 3]
>>> x[0][1]
'b'
#「x = [a, n]」と「x = a + n」の違いに注意

・リストの操作

対話型shell

>>> s =['a', 'b', 'c', 'd', 'e', 'f', 'g']
>>> s
['a', 'b', 'c', 'd', 'e', 'f', 'g']
>>> s[0]
'a'
>>> s[0] = 'X'
>>> s
['X', 'b', 'c', 'd', 'e', 'f', 'g']
#文字列と違いリスト型は値の変更が可能
#具体的な方法は「s[場所] = 値」
#文字列はこの方法では不可!

>>> s[2:5] = ['C', 'D', 'E']
>>> s
['X', 'b', 'C', 'D', 'E', 'f', 'g']
>>> s[2:5] = []
>>> s
['X', 'b', 'f', 'g']
>>> s[:] = []
>>> s
[]
#後々出てくる「del」と「s[:] = []」は異なり、
#「s[:] = []」はリストをNoneにするが。
#「del」はリストの存在を削除

値の挿入と発出
>>> n =[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> n
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> n.append(100)
>>> n
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 100]
>>> n.insert(0, 200)
>>> n
[200, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 100]
>>> n.pop()
100
>>> n
[200, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> n.pop(0)
200
>>> n
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> del n[0]
>>> n
[2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> del n
>>> n
削除され、定義されていないため、エラーを返す
#「append」は後ろに追加
#後ろじゃないところに場所を指定して追加は「insert(場所, 値)」
#「pop()」や「pop(場所)」は値をリストから追い出す
#delは値やリスト自体を削除!!!!!!!!

>>> n = [1, 2, 2, 2, 3]
>>> n.remove[2]
>>> n
[1, 2, 2, 3] 最初の2が消された
>>> n.remove[2]
>>> n.remove[2]
>>> n
[1, 3]
>>> n.remove[2]
エラーとなる

>>> a = [1, 2, 3, 4, 5]
>>> b = [6, 7, 8, 9, 10]
>>> x = a + b
>>> x
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> a += b
>>> a
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

別の方法として
>>> a = [1, 2, 3, 4, 5]
>>> b = [6, 7, 8, 9, 10]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

#リストでは、xを定義して加算していくのも、「a += b」や「a.extend(b)」については、同じ出力となる

今日はここまででした。

動画を見てアウトプットをしていくと時間が掛かりますが、自分なりに解釈していくことで資格取得につながっていくと思います。

今回は「#」で始まるものは自分なりの言葉を付け足してみました。

ただただアウトプットではなく、理解した上でのアウトプットを心がけていきます。


この記事が気に入ったらサポートをしてみませんか?