python列表是有序还是无序

Python018

python列表是有序还是无序,第1张

列表(List)是一种有序和可更改的集合

拓展:

Python 编程语言中有四种集合数据类型:

列表(List)是一种有序和可更改的集合。允许重复的成员。

元组(Tuple)是一种有序且不可更改的集合。允许重复的成员。

集合(Set)是一个无序和无索引的集合。没有重复的成员。

字典(Dictionary)是一个无序,可变和有索引的集合。没有重复的成员。

一、list

list是python内置的有序的列表,可以随时添加和删除其中的元素

1、 定义

list_name = ["param1","param2","param3"]

2、访问

1)用索引来访问,索引从0开始

索引不可以越界,否则会报错,最后一个元素的索引是len(city) - 1

2)还可以从后开始访问 最后一个元素的索引为-1 依次类推,第一个元素的索引为-len(city)

>>>city[-1]

>>>'广州'

3、元素的追加

4、元素的插入

在city的索引1处增加 重庆

>>>city.insert(1,'重庆')

>>>city

>>>['北京', '重庆', '上海', '广州', '南京']

5、元素的删除

1)删除末尾

2)删除指定位置元素 pop(i),i为索引值

6、元素的替换

7、二维list

访问的时候 我们就可以直接 city[1][0] city[1][1]来访问 其中的元素值

二、tuple(元组)

tupe和list的最大的区别就是 tuple一旦被创建 就无法修改

1、定义

2、访问

和list是一样的 country[0],country[1]。由于tuple是不可变的,所以没有append 和insert 函数

3、 一个元素的tuple

我们发现 当tuple的元素只有一个元素的时候,python会认为括号就是小括号的功能,就会按照整数或者字符串解析,为了解决这个问题,python规定这种情况 在后面加一个逗号','就可以

4、 tuple的指向不变

你会惊讶,怎么可以变了呢??

其实在python内部,c[0],c[1]指向 1 和 2,而c[2]是指向的一个list对象,其实变的不是tuple的元素,而是list的元素。tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变.

解释器有优化。在python中,无序但是输出的列表有序是python解释器有优化,输出按照顺序。但是实际上用户不能用索引去操作,所以字典还是无序的。Python由荷兰数学和计算机科学研究学会的吉多范罗苏姆于1990年代初设计,作为一门叫做ABC语言的替代品。