Speaking of how to distinguish lists from python tuples, let’s first introduce what Python tuples are:
Having said so much, what is a Python tuple?
Python's tuples are similar to lists. The difference is that the elements of tuples cannot be modified. Tuples use parentheses and lists use square brackets. Tuple creation is simple, just add elements in brackets and separate them with commas.
The following example:
tup1 = ('physics', 'chemistry', 1997, 2000) tup2 = (1, 2, 3, 4, 5 ) tup3 = "a", "b", "c", "d"
The created empty element
tup1 = ()
When the tuple contains only one element, you need to add a comma after the element
tup1 = (50,)
What is a Python list, please see:
Next, let’s compare The similarities between lists and python tuples
The similarities between lists and tuples in Python:
They are all sequence typesBefore answering their differences, let’s first talk about the similarities between the two. List and tuple are both sequence type container objects, which can store any type of data and support slicing, iteration and other operations
foos = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] foos[0:10:2] [0, 2, 4, 6, 8]
bars = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) bars[1:10:2] (1, 3, 5, 7, 9) 两者的操作如此相似,Python 为什么还要设计一种叫 tuple 的类型出来呢?这就要从它们的不同之处来寻找答案。
The differences between lists and tuples in Python:
In addition to the literal difference between the two types (brackets and square brackets), the most important point is that tuple is an immutable type with a fixed size, while list is a variable type and the data can change dynamically. This difference makes the methods, application scenarios, and performance provided by the two very different. List-specific methods:foo = [2,3,1,9,4] foo.sort() # 排序 foo.insert(5,10) # 插入 foo.reverse() # 反转 foo.extend([-1, -2]) # 扩展 foo.remove(10) # 移除 foo.pop() # 弹出最后一个元素 foo.append(5) # 追加 所有的操作都基于原来列表进行更新,而 tuple 作为一种不可变的数据类型,同样大小的数据,初始化和迭代 tuple 都要快于 list python -m timeit “[1,2,3,4,5]” 10000000 loops, best of 3: 0.123 usec per loop python -m timeit “(1,2,3,4,5)” 100000000 loops, best of 3: 0.0166 usec per loop 同样大小的数据,tuple 占用的内存空间更少 foo = tuple(range(1000)) bar = list(range(1000)) foo.sizeof() 8024 bar.sizeof() 9088 原子性的 tuple 对象还可作为字典的键 foo = (1,(2,3)) d = {foo: 1} bar = (1, [2,3]) # 非原子性tuple,因为元组中包含有不可哈希的list d = {bar: 1} Traceback (most recent call last): File “”, line 1, in TypeError: unhashable type: ‘list’
PHP Chinese website Python tutorial
The above is the detailed content of What is the difference between lists and tuples in Python? Understand the similarities and differences between tuples and lists in one article. For more information, please follow other related articles on the PHP Chinese website!