使用列表和元组可以互换使用。

11 浏览
0 Comments

使用列表和元组可以互换使用。

我正在开发一个应用程序,其中使用列表元组可以互换使用,但我很难理解以下问题:1)社区中“Pythonic”的方式是什么?2)它们可以互换使用吗?\n示例:\n

val = "hello"
tmp = ("world", "hello")
val in tmp
tmp = ["world", "hello"]
val in tmp

0
0 Comments

不,元组(tuples)和列表(lists)不应该互换使用。原因如下:

1)实际上,它们之间存在一个非常实际的区别,列表是可变的,而元组是不可变的,所以有一系列的方法,比如append,在元组上不存在。

2)元组和列表在语义上表示了不同的东西。这个源(http://jtauber.com/blog/2006/04/15/python_tuples_are_not_just_constant_lists/)对此进行了很好的阐述。

我有一个最好的例子来说明第二点。如果你想描述二维平面上的一个点,你会使用一个元组(3, 4)。如果你使用一个列表[3, 4],它会暗示你可以以某种有意义的方式添加到它上面。[3, 4, 5]在二维平面上代表什么点呢?[3,4,5,6,7,8,9,10,"Eggs","Foo",lambda x: frobnicate(x)]又代表什么?

用通俗的话来说,列表是一组事物,而元组是一个具有多个属性的单个事物。

0