これはリストをループし、リストの各要素はすべての反復で変数として使用できるようになります。これは、リストのすべての要素を確認する必要がある場合に広く使用されます。
operating_systems = ["windows", "mac", "linux"] for os in operating_systems: print(os)`
# Output windows mac linux
インデックスに基づいてアクセスする必要があり、インデックス値が必要な場合。
operating_systems = ["windows", "mac", "linux"] for i in range(len(operating_systems)): print(f"Index {i}: {operating_systems[i]}")
# Output Index 0: windows Index 1: mac Index 2: linux
インデックスと値の両方が必要な場合、これは洗練された方法です
operating_systems = ["windows", "mac", "linux"] for index, os in enumerate(operating_systems): print(f"Index is {index} and value is {os}")
# Output Index is 0 and value is windows Index is 1 and value is mac Index is 2 and value is linux
operating_systems = ["windows", "mac", "linux"] i = 0 # Inital condition, required to start while i < len(operating_systems): print(f"While looping {i} got the value {operating_systems[i]}") i = i + 1 # This is very important, dont forget about infinite loops
# Output While looping 0 got the value windows While looping 1 got the value mac While looping 2 got the value linux
イテレータをいつ進めるかを細かく制御できますが、最後に到達したかどうかを確認するには StopIteration に依存する必要があります。
operating_systems = ["windows", "mac", "linux"] iterator = iter(operating_systems) while True: try: os = next(iterator) print(f"Consumed form iterator {os}") except StopIteration: print("Consumed all from iterator") break
# Output Consumed form iterator windows Consumed form iterator mac Consumed form iterator linux Consumed all from iterator
# Hack to avoid StopIteration iterator = iter(operating_systems) end_of_list = object() reached_end = False while not reached_end: os = next(iterator, end_of_list)# a predefined object as end of the list if os != end_of_list: print(os) else: reached_end = True
変形が必要な場合
operating_systems = ["windows", "mac", "linux"] os_uppercase = [os.upper() for os in operating_systems] print(os_uppercase)
# Output ['WINDOWS', 'MAC', 'LINUX']
リストの循環が必要な場合。適切な境界条件を使用してループを中断します
import itertools operating_systems = ["windows", "mac", "linux"] for item in itertools.cycle(operating_systems): print(item) # Infinite cycling loopmake sure to have proper boundary condition to break
# Output windows mac linux windows mac linux windows mac linux windows mac linux windows ....... Infinite loop
複数のリストを同時にループします。リストのサイズが異なる場合は、出力に注意してください。
operating_systems = ["windows", "mac", "linux"] mobile_operating_systems = ["android", "ios"] for os, mobile_os in zip(operating_systems,mobile_operating_systems): print(os, mobile_os)
# Output windows android mac ios
operating_systems = ["windows", "mac", "linux"] for reversed_os in reversed(operating_systems): print(reversed_os)
# Output linux mac windows
以上がPython リストをマスターする: 知っておくべき重要なテクニックの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。