这是'文件'实体一个元组?

时间:2016-04-18 16:37:05

标签: python

file = ('cropdata.txt') 

我不确定元组是什么。这是一个元组file?元组与列表或字符串有何不同?

1 个答案:

答案 0 :(得分:6)

不,file是一个字符串。如果您要从单个对象创建元组,they always need to be separated by commas。这包括仅包含单个对象的元组(将逗号放在项目后面),否则,解释器将使用括号将表达式分组以进行操作。

this_is_a_tuple = ('cropdata.txt',)  # Parenthesis are used for Order-of-operations grouping
this_is_a_string = ('cropdata.txt')  # Notice, no comma.
this_is_also_a_tuple = 'cropdata.txt',

但是,使用空括号创建一个空元组:

this_is_an_empty_tuple = ()  # Look mom, no comma!

至于元组是什么 - 它只是一个保存对其他对象的引用的对象。可以通过索引查找其他对象:

my_tuple = ('foo', 2)
my_tuple[0]  # foo
my_tuple[1]  # 2

元组也是可迭代的:

for item in my_tuple:
    ...

如果您熟悉list个对象,则tuple非常相似。关键区别在于tuple 不可变 - 一旦创建,就无法更改元组(尽管您可能能够更改元组所包含的对象)。不变性(以及相关的可持续性)的好处有点超出了这个问题的范围,并且在其他地方得到了很好的回答......有关进一步的讨论,请参阅this questionthis question