1

私はこのリストを生成しようとしています:

["var",None,None,None,None,None]

これを行うための短い方法は何ですか?と思いました

list_2=["var",None for cnt in range(5)]

動作しますが、エラーが発生するだけです。私の2回目の試み、

list_1=["var"].extend([None for cnt in range(5)])

正確にはサクセスストーリーでもありませんでした。誰でも助けてもらえますか?

ありがとうございました!

4

3 に答える 3

8

これは次のように簡単に実行できます。

mylist = ["var"] + [None] * 5

理由、

["var"].extend([None for cnt in range(5)])

extends はリストをその場で変更しますが、元のリストを返さないため、機能しません。あなたはできたかもしれません

mylist = ["var"]
mylist.extend([None for cnt in range(5)])

2 回目の試行

list_2=["var",None for cnt in range(5)]

も正しくありません

  1. 括弧なしのジェネレーター式であるためです。
  2. 機能したとしても、リストの2番目のアイテムとして取得したものを追加します
于 2012-11-09T07:56:09.967 に答える
1

次の方法で実行できます。

>>> list_1 = ["var"] + [None]*5
>>> list_1
['var', None, None, None, None, None]
于 2012-11-09T07:55:57.840 に答える
0

Python 3.2

a=["var"]
_=[a.append(None)for v in range(5)] 

拡張を使用した別の方法:

a=["var"]
b=[None]*5
a.extend(b)
于 2012-11-09T09:45:17.753 に答える