当前位置: 首页 > 面试题库 >

在Python中将列表初始化为特定长度

郜俊晤
2023-03-14
问题内容

如何在Python中使用默认值的10倍初始化列表?

我正在寻找一种好方法来初始化具有特定范围的空列表。因此,请创建一个包含10个零或类似内容的列表,以确保我的列表具有特定长度。


问题答案:

如果您想要的“默认值”是不可变的,例如@eduffy的建议[0]*10就足够了。

但是,如果您想要一个十进制dict的列表,请 不要 使用[{}]*10-这将使您的列表具有 相同的 最初为空的dict十倍,
而不是 十个不同的列表。而是使用[{} for i in range(10)]或类似的构造来构造十个单独的dicts组成您的列表。



 类似资料:
  • 问题内容: 我打算初始化一个长度为n的列表列表。 但是,这以某种方式将列表链接在一起。 我希望有这样的东西: 有任何想法吗? 问题答案: 问题在于它们在内存中都是完全相同的列表。当使用语法时,得到的是n许多x对象的列表,但是它们都是对同一对象的引用。它们不是不同的实例,而是n对同一实例的引用。 要列出3个不同的列表,请执行以下操作: 这为你提供了3个单独的实例,这是你想要的 类似于 虽然类似于:

  • 问题内容: 现在我正在使用一个列表,并且期望像这样: 我应该改用数组吗? 问题答案: 我想到的第一件事是: 但是,您真的需要对其进行预初始化吗?

  • 问题内容: 我想初始化一个多维列表。基本上,我想要一个10x10的网格-10个列表的列表,每个列表包含10个项目。 每个列表值都应初始化为整数0。 单行执行此操作的明显方法:将不起作用,因为它会生成一个包含10个引用的列表,该列表引用一个列表,因此更改任何行中的项都会更改所有行中的项。 我看过的文档讨论了用于复制列表的方法,但是在使用乘法器时仍然无法使用:与效果相同。 除了创建s循环之外,是否有一

  • 考虑如下代码: vector<double> v = { 1, 2, 3.456, 99.99 }; list<pair<string,string>> languages = { {"Nygaard","Simula"}, {"Richards","BCPL"}, {"Ritchie","C"} }; map<vector<string>,vector<int>> years = {

  • 问题内容: 这非常丑陋: 有没有办法在一行上声明这些变量? 问题答案: 上述方法的缺点是,您需要计算左侧的名称数,并且在右侧具有完全相同数量的空列表(例如,通过调用或更明确地)。 最主要的是, 不要 使用类似 也不 这将使所有名称都引用 相同的 空列表!

  • 问题内容: 我已经在Python中工作了一段时间,并且已经使用“ try”和“ except”解决了这个问题,但是我想知道是否还有另一种方法可以解决它。 基本上我想创建一个这样的字典: 因此,如果我有一个具有以下内容的变量: 我实现example_dictionary的方法是: 我希望我的问题很清楚,有人可以帮助我。 谢谢。 问题答案: 您的代码未将元素追加到列表;您将列表替换为单个元素。要访问现