代码之家  ›  专栏  ›  技术社区  ›  Andrew Hubbs

Python:这里使用[]是什么意思?

  •  5
  • Andrew Hubbs  · 技术社区  · 15 年前

    var = foo.bar
    

    var = [foo.bar]
    

    例如:如果食品酒吧=[1,2]我能得到这个吗?

    var = foo.bar #[1, 2]
    

    var = [foo.bar] #[[1,2]] where [1,2] is the first element in a multidimensional list
    
    4 回复  |  直到 15 年前
        1
  •  14
  •   jathanism    15 年前

    [] 是一个空列表。

    [foo.bar] 正在创建新列表( [] )与 foo.bar 作为列表中的第一项,然后可由其索引引用:

    var = [foo.bar]
    var[0] == foo.bar # returns True 
    

    foo.bar = [1,2] 完全正确。

    如果您还没有,我建议您在Python交互式解释器中使用这种东西。这使它变得非常简单:

    >>> []
    []
    >>> foobar = [1,2]
    >>> foobar
    [1, 2]
    >>> [foobar]
    [[1, 2]]
    
        2
  •  3
  •   JAL    15 年前

    如果食品酒吧是 [1,2] ,您确实得到[[1,2]]。

    >> a=[]
    >> a.append([1,2])
    >> a[0] 
    [1,2]
    >> b=[[1,2]]
    >> b[0]
    [1,2]
    

    再详细说明一下这个例子,

    >> class Foos:
    >>   bar=[1,2]
    >> foo=Foos()
    >> foo.bar
    [1,2]
    >> a=[foo.bar]
    >> a
    [[1,2]]
    >> a[0]
    [1,2]
    
        3
  •  1
  •   miku    15 年前

    我认为这是把var变成一个包含食品酒吧但我不确定。如果这是行为食品酒吧已经有一张单子了,你在每个案子里都得到了什么?

    • 是的,它创建了一个新列表。

    • 如果 foo.bar 已经是一个列表,它只会变成一个列表,包含一个列表。

      h[1] >>> l = [1, 2]
      h[1] >>> [l]
      [[1, 2]]
      h[3] >>> l[l][0]
      [1, 2]
      
        4
  •  0
  •   Lemmons    15 年前

    推荐文章