リストは、複数の値をまとめるのに使用するデータ型、<>でくくり値を<>で区切って定義する。もしくはlist関数()で定義する
[] ,
文字列とは異なりリストは要素を<>ことができる
入れ替える
len()をリストに使用した場合は文字列と異なりリストの()を返す
要素数
<>や<>などがオブジェクト指向プログラミング言語と呼ばれており、pythonも同様の開発が行える
Java Ruby
<>とはオブジェクト指向プログラミング言語において、クラスまたはオブジェクトを操作するためのサブルーチン(関数)を指します。
メソッド
<>を使ってリストの末尾に新しい要素を追加できる
append()
<>を使ってリストの要素に別のリストの要素を加えてリストを拡張できる
extend()
<>を使って指定した位置に要素を挿入できる。第1引数はリストのインデックスを指定し、第2引数は挿入する内容を指定する。挿入はそのインデックスを持つ要素の<>に行われる
insert() 直前
<>を使ってリストから要素を削除する。第一引数は削除する値を指し、リスト内に該当する要素が無ければ<>が返される
remove() ValueError
<>を使ってリストから値を取り出す。第一引数はリストのインデックスを指定し、指定された要素をリストから削除してその要素を返す。添え字が指定されなければ<>の要素を削除して返す
pop() 末尾
<>を使ってリストからすべての値を消去する。
clear()
<>を使うとリストから要素を指定してインデックスを取得できます。第二引数と第三引数で探索範囲を指定できる。返されるインデックスは、リスト全体の先頭からの位置になる
index()
<>を使うとリストに含まれる値の出現回数を返す
count()
<>を使うとリストをソートできる。
第1引数がtrueの場合は昇順になり、falseの場合は降順になる
sort()
<>を使うとリストの中身を逆順にできる
reverse()
l1 = [1,2,3,4]
l2 = l1
l1 = [1,2,3,4]
l2 = [1,2,3,4]
l1.remove(2)
l1 = [1,3,4]
l2 = [<>]
1,3,4
<>を使うとリストをコピーできる
*代入元のリストの値が変更されると代入先のリストの値も変わってしまうので代入によるコピーは推奨しない
copy()
リスト内包表記を用いると、0から9までの2乗の数をリストに内包するプログラムが
squares = <>のように簡略化できる
[x**2 for x in range(10)]
pythonにはリストによく似たタプルというデータ構造が存在する。リストと違って<>で囲み「,」で区切る。タプルはリストと違って要素の値を変更<>
() できない
タプルの()は省略可能であり、最悪「,」で区切っていれば成立する。タプルの中にリストを入れることが可能であり、タプルの中のリストであれば要素を変更<>
できる
カッコ内に何も記述しなかったり、「,」を1つだけつけることで要素が<>個や<>個のタプルを作ることができる
例:
empty = ()
len(empty) = 0
single = 1,
len(single) = 1
0 1
キーと値のペアを複数格納できるデータ型を()と呼ぶ
ディクショナリー
ディクショナリーでは、インデックスの代わりにキーを使って値を取得できる。また、<>で囲み、<>記号でキーとディクショナリーを分ける
{} :
ディクショナリーでは、<>メソッドですべてのキーの取得、
<>メソッドですべての値の取得、
<>メソッドですべての要素(キーと値のペア)の取得が可能である
keys() values() items()
<>を使うと、ディクショナリー内の要素の値の取得が可能である。第一引数には対応するキーを書く
get()
<>を使うと、ディクショナリー内の要素の値の削除が可能である。第一引数には対応するキーを書く
del()
ディクショナリー内の要素の検索はキー、in、ディクショナリー名で行える。返り値は<>型になる
例:dic = {'one':1, 'two':2, 'three':3}
if( 'one' in dic == true)
ブール
ディクショナリーを新たに追加するには、配列のように記述して、要素数に<>を入力し、それに代入する形で<>を書く
例:dic['four'] = 4;
キー 値
pythonでは重複しない順不同の要素を集合(数学と同じもの)もしくはセットと呼び、<>で囲むか<>関数を用いることで利用できる
{} set()
重複した要素をセットとして指定した場合、重複している部分は()される
例:
basket = {'apple', 'apple', 'pear', 'orange'}
{'apple', 'orange', 'pear'}
削除
リストは<>で囲み
タプルは<>で囲み
セットは<>で囲む
[] () {}
要素がない集合(空集合)は{}記号を用いて定義できず、ディクショナリー型になってしまうため、<>関数を使う必要がある
例:empty = {} ✖
empty = set() 〇
set()
セット同士の集合演算は<>記号を使うことで和集合、<>記号を使うことで積集合を求めることができる。
例:
>>> set1 = {'A', 'B', 'C'}
>>> set2 = {'A', 'B', 'D'}
>>> set1 | set2
{'D', 'B', 'C', 'A'}
>>> set1 & set2
{'A', 'B'}
| &
セット同士の集合演算は<>記号を使うことで差集合、<>記号を使うことで排他的論理和を求めることができる。
例:
>>> set1 = {'A', 'B', 'C'}
>>> set2 = {'A', 'B', 'D'}
>>> set1 - set2
{'C'}
>>> set1 ^ set2
{'C', 'D'}
- ^
リスト、辞書、セットのように値を変更できる型の事を()な型と呼ぶ
逆に、文字列、タプルのように値を変更できないものを()と呼ぶ
ミュータブル イミュータブル
for構文などでで1つ1つの要素を参照できる、文字列、セット、タプル、リスト、辞書などは<>(反復可能)であるという
イテラブル
a[0], a[1]のようにインデックスで要素を参照できる文字列、リスト、タプルの事を()型と呼ぶ
シーケンス
図の1から6に入る〇✖記号を順に答えよ
✖✖〇〇✖✖
<>関数を用いるとあらゆる値をそれなりに人が読める形式に変換してくれる
str()
<>関数を用いるとあらゆる値をインタプリタが読める表現に変換してくれる
repr()
print関数内などで<>を用いることで出力フォーマットを指定することができる
例:
a = 256 b = 'hi'
print('%d,%s' % (a,hi))
%
print関数内などで{}とその中の文字は<>関数で置き換えられる
例:
print('Who say "{}!"'.format ('Ni'))
Who say "Ni!"
format()
format()関数を使用する際に、{}の中に参照する数字を入れて<>のような使い方もできる
例:
print('{1} and {0}'.format('spam', 'eggs'))
eggs and spam
添え字
人が読んで理解することができる、文字の集まり(ファイル)の事を<>と呼ぶ。また、それ以外のファイルを<>と呼ぶ
テキストファイル バイナリファイル
データをカンマ区切りで記述する形式を
()形式と呼び、1行分のデータを()と呼ぶ
CSV レコード
<>関数を用いてテキストファイルの読み込みを最初に行う。これによってテキストファイルへの読み書きが可能になる。
open()
open()関数は第1引数にファイルパス、第二引数にr、w、aなどのモードを取る。それぞれ、
r :<>
w:<>
a:<>
の意味を持つ
読み込み 書き込み 追記
<>関数を用いるとファイルの中身を読むことができる。第1引数は指定した文字分を読み込んでくれる。(指定しなければすべて読み込む)この関数は文字列を返し、ファイル末尾に達すると空の文字列(' ')を返す
read()
<>関数を用いるとファイルから1行ずつ読み込むことができる。また<>関数を用いるとファイル全てを1行ずつ読み込むことができる。
readline() readlines()
<>関数を用いるとファイルに書き込みを行うことができる。第1引数には書き込む内容を記述し、その内容が<>である必要がある
write 文字列
<>関数を用いるとファイルの読み書きの起点位置を知ることができる
tell()
<>関数を用いるとファイルの読み書きの起点の位置を変更することができる。第1引数が起点から何文字離れるかを示す値で、第二引数が起点を示す値となる。第二引数は
0:ファイルの<>(デフォルト)
1:<>位置
2:ファイルの<>
のような値を使用する
seek() 先頭 現在 末尾
open()関数を使用してファイルを開いた際は<>関数を使用してファイルを閉じなければならない
close()
f = open(ファイルパス, 'w', encoding='UTF-8')
上記のように変数に代入する場合はopen()関数とclose()関数は必須となるが、<>文を使うと、close()関数を省略できる。
例:
with open(ファイルパス, 'w', encoding='UTF-8') as f:
with
pythonでは様々なパッケージ(モジュールの集合)が用意されています。<>というプログラムを使ってパッケージのインストール、更新、削除などといったパッケージの管理ができます。
pip
pipのコマンド一覧を示した図の1~8の空欄を埋めなさい
install download uninstall list show search update help
C言語のライブラリに近い存在で、特別な変数や関数が入ったファイルを<>と呼ぶ
モジュール
モジュールは「<> モジュール名」と記述することでインポートできる
import
読み込んだモジュール内の関数を利用するには、「モジュール名.<>」のようにして記述する
例:
import fib
fib.hogehoge(3)
hogehogehoge
関数名()
モジュールではなく、モジュール内の関数を直接インポートするには、「from モジュール名 import <>」のように記述する
例:from fibo import fib,fib2
*この時、fiboは定義されていない
関数名
モジュール内の全ての関数をインポートするには、「from モジュール名 import <>」のように記述する。可読性に乏しいコードをもたらしやすいから嫌がられる。
*
モジュールがスクリプトとして実行される場合、__name__が<>という値になるため、__name__についての条件分岐をプログラム内に書いておくと、モジュールがスクリプトとして実行された場合の処理をかき分けることが可能となる
例:
if __name__ == "__main__":
import sys
fib(int(sys.argv[1]))
__main__
プログラムを実行する際に、コマンドラインから値を受け取って実行時に使用できる引数のような役割を果たすものを()と呼ぶ
例:
python test.py a b c
コマンドライン引数
<>はコマンドライン引数として使用される特別な変数。コマンドラインから受け取った値が<>で格納される
sys.argv リスト
sys.argvのリストは、<>(argv[0])にファイルのパスなどが格納され、それ以降の要素(argv[1:)にコマンドラインから受け取った値が格納される
先頭
コマンドライン引数(プログラム実行時)に値が入力されたかどうかは、argv[1]から値が格納される都合上、「if(len(sys.argv) == <>」のような条件式で判別できる
例:
if(len(sys.argv) == 1):
print("コマンドライン引数はありません")
else:
print("コマンドライン引数はあります")
1