生成一个字符串后跟多个无值的列表

2024-05-08 01:39:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试生成以下列表:

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

做这件事的方法是什么?我想

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

但它只会产生一个错误。我的第二次尝试

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

也不是一个成功的故事。有人能帮忙吗?你知道吗

谢谢你!你知道吗


Tags: 方法innone列表forvar错误range
3条回答

这可以简单地做为

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

原因是

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

将不起作用,因为extends将更改列表,但不返回原始列表。你本可以做到的

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

你的第二次尝试

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

也不正确

  1. 因为它是一个没有括号的生成器表达式。你知道吗
  2. 即使它能起作用,它也会把你得到的东西作为列表中的第二项

Python 3.2版

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

扩展的另一种方式:

a=["var"]
b=[None]*5
a.extend(b)

你可以这样做:

>>> list_1 = ["var"] + [None]*5
>>> list_1
['var', None, None, None, None, None]

相关问题 更多 >