「0から10まで」といった範囲をリスト形式で生成します。C言語などのfor文と比較して考えるとイメージしやすいかもしれません。
sample.py
print range(10) # for(int i=0; i<10; ++i)
print range(5,10) # for(int i=5; i<10; ++i)
print range(5,10,2) # for(int i=5; i<10; i+=2)
print range(10,5,-1) # for(int i=10; i>5; --i)
出力例
$ python sample.py
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[5, 6, 7, 8, 9]
[5, 7, 9]
[10, 9, 8, 7, 6]
List = [2,1,3,0]
print sorted(List)
List.sort()
print List
出力例
[0, 1, 2, 3]
[0, 1, 2, 3]
print sum([2,1,3,0])
出力例
6
print len([1,2,3])
出力例
3
print any([2,1,3,0]) # 少なくとも1つがTrueなら真
print all([2,1,3,0]) # すべてがTrueなら真
print 'val1' in ['val1', 'val2', 'val3'] # 含まれているか
print 'val4' in ['val1', 'val2', 'val3']
出力例
True
False
True
False
List = ['A','B','C']
while List: print List.pop()
出力例
C
B
A
List = ['a','b']
# 複数要素を追加
print List + ['c','d']
List.extend(['c','d']); print List
# 1つの要素を追加
print List + ['x']
List.append('x'); print List
出力例
['a', 'b', 'c', 'd']
['a', 'b', 'c', 'd']
['a', 'b', 'c', 'd', 'x']
['a', 'b', 'c', 'd', 'x']
List = ['A','B','C','D','E']
print List[:2] # List[0:2]の省略形
print List[2:]
string = "This is a string."
print string[:3]
print list(string[:3])
出力例
['A', 'B']
['C', 'D', 'E']
Thi
['T', 'h', 'i']
print map((lambda x: 2**x), [0,1,2,3,4,5,6,7,8,9,10])
print map((lambda x,y: x**y), [2,2,2,2], [0,1,2,3])
出力例
[1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024]
[1, 2, 4, 8]
Perlなどのgrepのようなものです。
print filter((lambda x: x>0), range(-5,5))
出力例
[1, 2, 3, 4]
並列プログラミングでおなじみのreduce関数。最初はリストの第1,2要素が引数、次は先程の演算結果と第3要素が引数、、、となります。
print reduce((lambda x,y: x*y), [1,2,3,4,5]) # n!
出力例
120
Dict = {'key1':'val1',
'key2':'val2',
'key3':'val3'}
for key in Dict.keys(): print key, Dict[key]
for key in Dict: print key, Dict[key] # .keys() は省略可能
出力例
key3 val3
key2 val2
key1 val1
key3 val3
key2 val2
key1 val1
ディクショナリで値が設定されていない key を指定すると KeyError
となります。has_key()
で確認するか get() を利用します。
D = {'A': 1, 'B': 2}
print 'A' in D
print D.has_key('A')
出力例
True
True
D = {'A': 1, 'B': 2}
del D['A']
print D
D.pop('B')
print D
出力例
{'B': 2}
{}
x = 1; y=2
print vars()
出力例
{'__builtins__': <module '__builtin__' (built-in)>, '__file__':
'sample.py', '__package__': None, 'x': 1, 'y': 2, '__name__':
'__main__', '__doc__': None}
print list("string")
print tuple("string")
出力例
['s', 't', 'r', 'i', 'n', 'g']
('s', 't', 'r', 'i', 'n', 'g')
print zip(['a','b','c'], [1,2,3])
print dict(zip(['a','b','c'], [1,2,3]))
出力例
[('a', 1), ('b', 2), ('c', 3)]
{'a': 1, 'c': 3, 'b': 2}
for (i,char) in enumerate("abc"): print i,char
出力例
0 a
1 b
2 c