【问题标题】:A way to insert a value in an empty List in a specific index一种在特定索引的空列表中插入值的方法
【发布时间】:2018-11-22 22:22:26
【问题描述】:

有没有办法将特定值插入到特定索引的列表中。列表应该完全为空

L = []
L.insert(2,177)
print(L)

L 应该给出 L [ , ,2] 的值

【问题讨论】:

  • 列表不能有漏洞。您必须将 something 放入前两个插槽中。
  • 您为什么要这样做?也许将所需位置作为索引的字典更适合您的问题。
  • 也许:L.append((2,177)):D

标签: python list insert append extend


【解决方案1】:

这是不可能的。列表不能有“漏洞”;列表中的每个槽都必须包含一个值。

你有两个选择:

  1. 用虚拟值填充列表:

    L = [None] * 3
    L[2] = 177
    # L: [None, None, 177]
    
  2. 使用dict 而不是列表:

    L = {}
    L[2] = 177
    # L: {2: 177}
    

    字典是任意值之间的映射,因此它可以毫无问题地处理“漏洞”。

【讨论】:

  • 这提供了一个使用列表来满足 OPs 要求的解决方案,但也提供了一个使用字典代替的更好的解决方案。 +1。
【解决方案2】:

Python 中的可迭代对象内部必须包含对象。你可以用None 填写列表,直到你想要你的实际值的地方

l = [None for _ in range(200)]
l[2] = 2
l[177] = 177

types.NoneType. None 的唯一值经常用于表示没有值,例如没有将默认参数传递给函数。

【讨论】:

  • 我的观点:Python用户不存储None的值。 @先生。 T 评论很好。
猜你喜欢
  • 2019-10-11
  • 1970-01-01
  • 2020-08-15
  • 1970-01-01
  • 1970-01-01
  • 2013-09-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多