我正在学习一些关于
Python的教程,并且我正在尝试决定在某种情况下使用什么数据类型/结构.
你如何决定哪一个是合适的 – 我目前的理解是不让我区分它们 – 它们似乎是一回事.
每个人的好处/典型用例有哪些?
解决方法
首先是元组.这些是类似列表的东西,无法修改.因为元组的内容不能更改,所以可以使用元组作为字典中的键.在我看来,这对他们来说是最有用的地方.例如,如果你有一个像item = [“Ford pickup”,1993,9995]这样的列表,并且你想在一些内存数据库中创建价格,你可以尝试这样的:
ikey = tuple(item[0],item[1]) idata = item[2] db[ikey] = idata
列表,似乎与其他编程语言中的数组或向量类似,通常用于Python中相同类型的事物.但是,它们更灵活,因为您可以将不同类型的内容放入同一列表中.通常,它们是最灵活的数据结构,因为您可以将整个列表放入另一个列表的单个列表元素中,但对于实际数据运算,它们可能不够高效.
a = [1,"fred",7.3] b = [] b.append(1) b[0] = "fred" b.append(a) # Now the second element of b is the whole list a
字典经常被用作列表,但现在你可以使用任何不可变的东西作为字典的索引.但是,与列表不同,词典没有自然顺序,无法对其进行排序.当然,您可以创建自己的类,其中包含排序列表和字典,以使dict的行为类似于有序字典. Python Cookbook网站上有一些例子.
c = {} d = ("ford pickup",1993) c[d] = 9995
当您进行重型数据处理并且您不想要列表或字典的褶边时,数组越来越接近位级别.它们通常不在科学应用之外使用.保留这些,直到您确定需要它们为止.
列表和Dicts是Python数据存储的真正主力.