forはiterableなものであれば要素でもブン回す事ができます。
公式には、以下のように記載されています。
for 文は、シーケンス (文字列、タプルまたはリスト) や、その他の反復可能なオブジェクト (iterable object) 内の要素に渡って反復処理を行うために使われます:
実際のところ
通常、リスト型の要素に対しforをぶん回す事はできません。
for s in [1,2,3,'foobar'][2]: print(s) #>> Traceback (most recent call last): #>> File "<stdin>", line 1, in <module> #>> TypeError: 'int' object is not iterable
rangeのように、それ自体がforの対象になるようなオブジェクトの場合、ぶん回す事が可能です。
for s in [1,2,3,range(1,4)][3]: print(s) #>> 1 #>> 2 #>> 3
文字列も
for s in [1,2,3,'foobar'][3]: print(s) #>> f #>> o #>> o #>> b #>> a #>> r