mylist=[]
mylist.append(7)
mylist.extend(range(9,12))
そのようなことはpython3の1行で行うことができますか?
些細なことだと思いますが、どういうわけか思い出せず、その方法もわかりません。
mylist=[]
mylist.append(7)
mylist.extend(range(9,12))
そのようなことはpython3の1行で行うことができますか?
些細なことだと思いますが、どういうわけか思い出せず、その方法もわかりません。
このワンライナーを使用できます:
mylist = [7] + list(range(9,12))
目的のリストを返します。
[7, 9, 10, 11]
リストコンストラクターには、好きなものを追加できます。例えば:
mylist = [7]
または:
mylist = list(range(9,12))
または、2つをつなぎ合わせるには:
mylist = [7] + list(range(9,12))
より複雑な構造の場合は、リスト内包表記が最適です。例えば:
mylist = [ (irow,icol) for irow in range(1,10) for irow in range(1,10) if i > j ]
リスト内包表記の詳細については、http: //docs.python.org/tutorial/datastructures.html#list-comprehensionsを参照してください。
(質問の変更を反映するように編集されました)。
他の人が言っているようにPython2.*を使用している場合
for lid in [7] + range(9,len(row)):
動作します
Python 3. *を使用している場合、rangeはイテレータを返すようになったため、明示的にリストに変換する必要があります
オプション1:
for lid in [7] + list(range(9,len(row))):
オプション2:
for lid in itertools.chain([7],range(9,len(row))):