Python中的列表

Siv*_*iah 2 python list

python中的List是同构还是异构?

the*_*olf 27

>>> def a(): pass
>>> lst=[1,'one',{1:'one'},a,[1,1],(1,),True,set((1,))]
>>> for each in lst:
...    print type(each), str(each)
... 
<type 'int'> 1
<type 'str'> one
<type 'dict'> {1: 'one'}
<type 'function'> <function a at 0x100496938>
<type 'list'> [1, 1]
<type 'tuple'> (1,)
<type 'bool'> True
<type 'set'> set([1])
Run Code Online (Sandbox Code Playgroud)

任何问题?

  • +1但对于初学者来说,如果你声明lst = [1,'1','one',{1:'one'},a]然后在两个单独的行中迭代它,这个例子会更清楚. (2认同)
  • @carrot-top _“Python列表实际上是同质的”_你是否意识到这与你上面的答案似乎表达的恰恰相反。读完所有这些后,初学者将一无所知......帖子列表 (2认同)

Dav*_*all 7

Python中的List是异构的 - 相同的列表可以接受各种不同类型的对象.

这里有一个片段,它为您提供Python中的同类列表.不知道那段代码会如何表现.


nik*_*kow 6

Python中的列表可以是异构的,但根据一般惯例,它们最好只包含同类元素.Python 元组异构序列的自然数据结构.

当然,您可以争辩说,元组和列表都只是Python对象的同构序列,但这是一种误导性的过度简化,并没有增加任何价值.

由于元组是不可变的并且列表是可变的,你也可以认为可变性是它们之间的真正区别.但是,这不是他们的意图.在这个问题上可以找到更多相关信息.


Mic*_*ert 5

请尝试一下

a=[1, "a"]
Run Code Online (Sandbox Code Playgroud)

并在询问之前查看是否抛出错误.

顺便说一句,它没有.