>>> a = [1, 2, 3, 4] >>> a [1, 2, 3, 4]
包括法で書く場合(リスト内包表記)
>>> a = [i for i in range(1, 5)] >>> a [1, 2, 3, 4]
>>> a[1] 2 >>> a[2:] [3, 4] >>> a[1:3] [2, 3] ## ※1以上3未満で取り出します。
>>> b = [5, 6, 7, 8] >>> a + b [1, 2, 3, 4, 5, 6, 7, 8] ※NumPyを使った各要素ごとの計算 ↓ >>> import numpy >>> a_list = numpy.array([1, 2, 3]) >>> b_list = numpy.array([3, 2, 1]) >>> print(a_list + b_list) [4 4 4]
>>> my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> sum(my_list) 55 >>> from functools import reduce >>> def plus_plus(x, y): return x + y >>> my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> reduce(plus_plus, my_list) 55
>>> a * 3 [1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4] ※NumPyを使った各要素ごとの計算 ↓ >>> import numpy >>> a_list = numpy.array([2, 4, 6]) >>> b_list = numpy.array([6, 3, 2]) >>> print(a_list * b_list) [12 12 12]
>>> a + [10] [1, 2, 3, 4, 10]
>>> a[1] = 99 >>> a [1, 99, 3, 4]
>>> del a[1] >>> a [1, 3, 4] >>> list = [1, 2, 3] >>> print(list.pop(1)) 2 >>> print(list) [1, 3]
>>> a = [1,2,3,4,5] >>> 3 in a True >>> 6 in a False
>>> a = [1,2,3,4,5] >>> min(a) 1 >>> max(a) 5 >>> b = ["あ","い","う","え","お"] >>> min(b) '\xe3\x81\x82' >>> b = [u"あ",u"い",u"う",u"え",u"お"] >>> min(b) u'\u3042' >>> b = [u"あ",u"い",u"う",u"え",u"お"] >>> print min(b) あ >>> print max(b) お >>> b = ["あ","い","う","え","お"] >>> print min(b) あ >>> print max(b) お # 最小値、最大値のインデックスを返す a_list = [6, 7, 1, 3, 4, 5] print(a_list.index(min(a_list))) print(a_list.index(max(a_list))) 結果 2 1
c = [5,4,3,2,1] >>> c.sort() >>> c [1, 2, 3, 4, 5] >>> c.reverse() >>> c [5, 4, 3, 2, 1] # 注意 def main(): aList = ["1", "2", "3"] bList = ["4", "5", "6"] print(aList) print(list(reversed(aList))) print(bList[::-1]) if __name__ == '__main__': main() # 実行結果 ['1', '2', '3'] ['3', '2', '1'] ['6', '5', '4']
>>> c = [5,-4,3,-2,1] >>> sorted(c, key = abs) [1, -2, 3, -4, 5]
abs(x):数値の絶対値を返します。
>>> a = [1,2,3,4,5] >>> t = tuple(a) >>> t (1, 2, 3, 4, 5)
>>> l = list(t) >>> l [1, 2, 3, 4, 5]
リスト内のリストを変数代入できるんですね
# coding=utf-8 listOflist = [ ['卵', '牛乳', 'パン', 'みかん'], ['数学の復習', '隣の芝刈り', '食料の買い出し'], ['かぼちゃ', 'フランベリー'] ] shopping = listOflist[0] toDo = listOflist[1] favoritePies = listOflist[2] print shopping[0] print toDo[1] print favoritePies[1] print listOflist[1][2] ↓ 実行結果 ↓ 卵 隣の芝刈り フランベリー 食料の買い出し
あと、Python3ならsplit()した日本語String wordsも綺麗に表示してくれます
# coding=utf-8 words = 'ケンタ ゴン太 翔太 藤吉郎 信長 秀吉 家康 諸葛亮孔明 劉備玄徳'.split() words2 = 'Tarou Jirou Ichirou Sazae Masuo Katsuo'.split() for spam in words: print(spam + ' ', end='') print() for ham in words2: print(ham + ' ', end='') print() print(words) print(words2) print(str(len(words)) + ' 個のデータ') print(str(len(words2)) + ' 個のデータ') ↓ 実行結果 ↓ ケンタ ゴン太 翔太 藤吉郎 信長 秀吉 家康 諸葛亮孔明 劉備玄徳 Tarou Jirou Ichirou Sazae Masuo Katsuo ['ケンタ', 'ゴン太', '翔太', '藤吉郎', '信長', '秀吉', '家康', '諸葛亮孔明', '劉備玄徳'] ['Tarou', 'Jirou', 'Ichirou', 'Sazae', 'Masuo', 'Katsuo'] 9 個のデータ 6 個のデータ