0
0

More than 1 year has passed since last update.

40代おっさんPythonを勉強する(データ構造と組み込み関数③)

Posted at

本記事について

この記事はプログラミング初学者の私が学んでいく中でわからない単語や概要を分かりやすくまとめたものです。
もし不正などありましたらコメントにてお知らせいただければ幸いです。

データ構造と組み込み関数

前回の記事
https://qiita.com/kou1121/items/4c3beb902e72fdd3b8d2
https://qiita.com/kou1121/items/1bce9187dc6fa94d3ed1

リスト内包表記

  • リスト内包表記はPythonの特有な構文
  • [式 for 任意の変数名 in range()など]
sep = [i for i in range(10)]
print(sep)
  • if-elseの条件分岐構文を使ってもよい
sep = [i for i in range(10) if i%2 == 0]
print(sep)
sep = [i if i%2 == 0 else None for i in range(10) ]
print(sep)
  • 計算式を使っても良い
sep = [i*i for i in range(10) ]
print(sep)
  • 関数を使っても良い
sep = [abs(i) for i in range(-5, 5) ]
print(sep)
  • zip関数で2つのリストを同時に扱える
list1 = [1,2,3]
list2 = [4,5,6]
ziplist = list(zip(list1, list2))
print(ziplist)
sep = [x * y for x, y in zip(list1, list2)]
print(sep)
  • 二重forも使える
sep = [(x, y) for x in range(3) for y in range(3)]
print(sep)
  • 2次元配列から1次元配列に展開
vec = [[1,2,3],[4,5,6],[7,8,9]]
sep = [num for elem in vec for num in elem]
print(sep)
  • 順番を並び替える関数
    • 組み込み関数としてsortedと、リスト内関数のsortがある
namelist = ['としき', 'あっきー','たろう', 'じろう', 'さぶろう']
numlist = [2,5,3,15,9,1,7,20,10,8]

#  sorted関数でリストをソートして新しいリストを返す
sored_ne = sorted(namelist)
print('new sorted list', sored_ne)
sored_nl = sorted(numlist)
print('new sorted list', sored_nl)

#  もともとのリストはかわらない
print('namelist', namelist)
print('numlist', numlist)

# リスト内のメソッドのsortではリスト内のリストをソースする
namelist.sort()
numlist.sort()
print('namelist', namelist)
print('numlist', numlist)

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0