Open yuyuyuriko78 opened 4 years ago
tuple = ('a', 3.14, true)
list = ['a', 3.14, true]
機能 | 書き方 |
---|---|
要素追加 | リスト名.append(値) |
要素削除 | リスト名.remove(値) |
特定の要素を数える | リスト名.count(数えたいもの) |
特定の要素があるか確認する | リスト名.index(確認したい値) ※4 |
要素数を数える | len(リスト名) |
要素の並び順を逆にする | リスト名.reverse() もしくは 変数名=リスト名[::-1](最後から1個ずつ要素を取得) |
要素を昇順に並び替える | リスト名.sort() |
要素を降順に並び替える | リスト名.sort(reverse = True) |
中身を空にする | リスト名.clear() |
n番目までを取得 | 変数名=リスト名[: n ] ※1 |
n番目より後を取得 | 変数名=リスト名[n :] ※2 |
n番目以降m番目までを取得 | 変数=リスト名[n : m] ※3 |
k個おきに要素を取得 | 変数=リスト名[::n] |
すべての要素の合計値 | sum(リスト名) |
※1 リストがlist=["a","b","c","d","e","f"]で、dまで取りたい場合は、list[:4]である。dのインデックス番号は「3」であるが、この場合は「n番目」までを取得したい ので、n=4 である。 ※2 リストがlist=["a","b","c","d","e","f"]で、d以降を取りたい場合は、list[4:]である。 ※3 list[n:m] は、「n番目以降(nは含まない)、m番目まで取得(mは含む)」と覚える ※4 存在する場合:その要素が返される 存在しない場合:NameErrorが返される
例1
list = [1,2,3,4,5]
double = [x * 2 for x in list]
これはつまりこういうことである
list = [1,2,3,4,5]
double = []
for x in list:
// list[x] のようにしなくても、xだけでlist内要素をあらわす
double.append(x * 2)
例2
list = [1,2,3,4,5]
even = [x * 2 for x in list if x % 2 == 0]
これはつまりこういうことである
list = [1,2,3,4,5]
for x in list:
if x % 2 == 0:
even.append(x * 2)
例3 偶数を2倍に、奇数を0倍にしたリストを作る
list = [1,2,3,4,5]
//三項演算子の記法を使う
odd = [ x*0 if x%2==1 else x*2 for x in list]
これはつまりこういうことである
list = [1,2,3,4,5]
odd = []
for x in list:
if x % 2 == 0:
odd.append(x * 2)
else:
odd.append(x * 0)
dict = {"key1": "value1", "key2": "value2"}
print(dict["key1"])
機能 | 書き方 |
---|---|
値取得 | 変数名 = 辞書名["キー名"] |
要素追加 | 辞書名["キー名"] = "値" |
要素削除 | |
キーの一覧取得 | 辞書名.keys() |
値の一覧取得 | 辞書名.values() |
キーと値の一覧取得 | 辞書名.items() |
キーと値の組削除 | del 辞書名["消したい組のキー名"] |
例1 男性にはMr.をつけ、女性にはMs.を付ける
person = { "Bob":"male" , "John":"male", "Jessica":"female"}
dear = [ str("Mr."+k) if v == "male" else str("Ms."+k) for k,v in person.items()]
```
- 辞書名.items() で、キーと値の組を取得。for k,v のkはキー、vは値を指す。
リストとタプルはすぐ混同してしまいます。
list = [1,2,3,4]
for i in list:
print(i)
i = 0
while i < 5:
print(i)
i += 1
class クラス名:
クラスの中身
def __init__(self):
self.name = "aaa"
self.color = "red"
インスタンス名.メンバ関数名( 引数 )
変数名 = クラス名()
python | java |
---|---|
crown = Car() | Car crown = new Car(); |
"任意の文字列{}任意の文字列".format(変数)
apple = 50
orange = 100
total = apple + orange
print("お会計は{}円になります".format(total))
apple = 50
orange = 100
total = apple + orange
print("りんご{0}円とみかん{1}円で、お会計は合計{2}円になります".format(apple, orange, total))
変数名 = lambda 引数: 処理内容
変数名 = (lambda: "返される結果")()
def
、関数名がないときはラムダ式を用いるのが推奨されている。例1
f = lambda x: x*2 print(f(5))
これは
def f(x): return x*2 print(f(5))
と同じ
例2
f = lambda a,b: a+b print(f(3,5))
これは
def f(a,b): return a+b print(f(3,5))
と同じ
例3
f = lambda x: x*2
num=[1,2,3,4,5]
double=list(map(f, num))
print(double)
map(ラムダ式が格納されている変数, 適用させたいシーケンス)
with open('ファイル名', 'モード') as 変数名:
例1「student.csv」というファイルを、読み込み専用モードで開く
with open('student.csv', 'r') as f:
data = f.readlines()
print(data)
例2「student.csv」ファイルを1行ごとに全て読み込み、1行ずつ出力する
with open('student.csv', 'r') as f:
data = f.readlines()
for line in data:
print(line)
例3「student.csv」ファイルを1行ごとに全て読み込み、1行ずつ、名前とスコアをそれぞれキーと値として保存する。全員のスコアの平均値を求め、スコアが高い順に並べる。
with open('student.csv', 'r') as f:
# 空の辞書studentを生成
student = {}
data = f.readlines()
for line in data:
# カンマで区切り、[name, score]というリストにする
line = line.strip().split(",")
name = line[0]
score = int(line[1])
# 辞書studentに、nameをキーにscoreを値として入れる。
student[name] = score
average = sum(student.values()) / len(student)
ranking = sorted(student.items(), key=lambda x: x[1], reverse=True)
for s in student:
print( "名前: {}, スコア: {} ".format(s[0], s[1]))
辞書名.values()
key=lambda x:x[1]
辞書studentのインデックス2を指してる(?)しばらくチェックしていない間にずいぶん充実しましたね。 ありがとうございます。
基本中基本
条件
関数