美文网首页
python的list 和tupe

python的list 和tupe

作者: 我愿是你的左右手 | 来源:发表于2017-07-13 17:53 被阅读0次

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

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

 >>> city = ["北京","上海","广州"]
 >>> city
 >>> ['北京', '上海', '广州']

2、访问

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

 >>> city[0]
 >>> '北京'

索引不可以越界,否则会报错,最后一个元素的索引是len(city) - 1
2)还可以从后开始访问 最后一个元素的索引为-1 依次类推,第一个元素的索引为-len(city)
>>> city[-1]
>>> '广州'

 >>> city[-len(city)]
 >>> '北京'

3、元素的追加

>>> city.append('南京')
>>> city
>>> ['北京', '上海', '广州', '南京']

4、元素的插入

在city的索引1处增加 重庆
>>> city.insert(1,'重庆')
>>> city
>>> ['北京', '重庆', '上海', '广州', '南京']

5、元素的删除
1)删除末尾

 >>> city
 >>> ['北京', '重庆', '上海', '广州', '南京']
 >>> city.pop()
 >>> '南京'
 >>> city
 >>> ['北京', '重庆', '上海', '广州']

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

 >>> city
 >>> ['北京', '重庆', '上海', '广州']
 >>> city.pop(1)
 >>> '重庆'
 >>> city
 >>> ['北京', '上海', '广州']

6、元素的替换

 >>> city
 >>> ['北京', '上海', '广州']
 >>> city[0] = '南京'
 >>> city
 >>> ['南京', '上海', '广州']

7、二维list

 >>> list的元素也可以是list
 >>> city_son = ['徐家汇','浦东区']
 >>> city[1] = city_son
 >>> city
 >>> ['南京', ['徐家汇', '浦东区'], '广州']

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

二、tuple(元组)

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

1、定义

 >>> country = ('中国','美国','加拿大')
 >>> country
 >>> ('中国', '美国', '加拿大')

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

3、 一个元素的tuple

 >>> num = (1)
 >>> num
 >>> 1
 >>> name = ("shuang")
 >>> name
 >>> 'shuang'

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

 >>> num = (1,)
 >>> num
 >>> (1,)
 >>> name = ('shuang',)
 >>> name
 >>> ('shuang',)

4、 tuple的指向不变

 >>> c = (1,2,['shuang','dan'])
 >>> c
 >>> (1, 2, ['shuang', 'dan'])
 >>> c[2][0] = 'dong'
 >>> c
 >>> (1, 2, ['dong', 'dan'])

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

相关文章

网友评论

      本文标题:python的list 和tupe

      本文链接:https://www.haomeiwen.com/subject/deagfxtx.html