と一緒に使用list comprehension
しternary operator
ます:
In [16]: lis = ['heeeeellllooo','world','low','higggghhh']
In [17]: [x.upper() if len(x)>5 else x for x in lis] # this is a new list
Out[17]: ['HEEEEELLLLOOO', 'world', 'low', 'HIGGGGHHH']
を使用することもできます。enumerate()
最初の項目全体が要素のインデックスであり、2 番目の項目が要素自体です。enumerate
tuple
このメソッドは元のリストを変更します。
In [18]: for index,elem in enumerate(lis):
....: if len(elem)>5:
....: lis[index]=elem.upper() #access element by index
....:
In [19]: lis
Out[19]: ['HEEEEELLLLOOO', 'world', 'low', 'HIGGGGHHH']
リストはどのように実装されますか? :
Python のリストは実際には可変長配列であり、Lisp スタイルの連結リストではありません。この実装では、他のオブジェクトへの参照の連続した配列を使用し、この配列へのポインターと配列の長さをリスト ヘッド構造に保持します。
これにより、リスト a[i] のインデックス作成は、コストがリストのサイズやインデックスの値に依存しない操作になります。
項目が追加または挿入されると、参照の配列のサイズが変更されます。アイテムを繰り返し追加する際のパフォーマンスを改善するために、いくつかの巧妙さが適用されます。配列を拡大する必要がある場合、余分なスペースが割り当てられるため、次の数回は実際のサイズ変更は必要ありません。