python 列表 & 元组

1.列表

1.1列表特点

1. 可存放多个值

2.按照从左到右的顺序定义列表元素,从0开始顺序访问,有序

3.可修改指定索引位置对应的值,可变

1.2列表的增加

>>> names
['nis', 'chaopeng']
>>> names.append("rain")
>>> names.append("eva")
>>> names
['nis', 'chaopeng', 'rain', 'eva']
>>> a 
['chaopeng', 'chaoyang', 'yongkang', 'xiaodong', 'rain']
>>> a.insert(2,"nis")
>>> a 
['chaopeng', 'chaoyang', 'nis', 'yongkang', 'xiaodong', 'rain']

1.3列表的插入

>>> names
['nis', 'chaopeng', 'rain', 'eva']
>>> names.insert(2,"chaoyang")
>>> names
['nis', 'chaopeng', 'chaoyang', 'rain', 'eva']

1.4列表的合并(把另外一个列表的值合并进来)

>>> names
['nis', 'chaopeng', 'chaoyang', 'rain', 'eva']
>>> n1
['xiaodong', 'yongkang', 'penghui']
>>> names.extend(n1)
>>> names
['nis', 'chaopeng', 'chaoyang', 'rain', 'eva', 'xiaodong', 'yongkang', 'penghui']

1.5列表的嵌套

>>> names
['nis', 'chaopeng', 'chaoyang', 'rain', 'eva', 'xiaodong', 'yongkang', 'penghui']
>>> names.insert(2,[1,2,3])
>>> names
['nis', 'chaopeng', [1, 2, 3], 'chaoyang', 'rain', 'eva', 'xiaodong', 'yongkang', 'penghui']
>>> names[2][1]
2

1.6删除

1.6.1 del直接删

>>> names
['nis', 'chaopeng', [1, 2, 3], 'chaoyang', 'rain', 'eva', 'xiaodong', 'yongkang', 
>>> del names[2]
>>> names
['nis', 'chaopeng', 'chaoyang', 'rain', 'eva', 'xiaodong', 'yongkang', 'penghui']

1.6.2 pop删

>>> names
['nis', 'chaopeng', 'chaoyang', 'rain', 'eva', 'xiaodong', 'yongkang', 'penghui']
>>> names.pop() #默认删除最有一个元素并返回被删除的值
'penghui'
>>> names
['nis', 'chaopeng', 'chaoyang', 'rain', 'eva', 'xiaodong', 'yongkang']
>>> names.pop(1)
'chaopeng'
>>> names
['nis', 'chaoyang', 'rain', 'eva', 'xiaodong', 'yongkang']

若列表为空pop报错

1.6.3 remove 删除

>>> name
['EVA', 'EVA', 'eva']
>>> name.remove("eva")
>>> name.remove("EVA")    #删除从左到右匹配到的第一个
>>> name
['EVA']

1.6.4 clear 清空

>>> n1
['xiaodong', 'yongkang', 'penghui']
>>> n1.clear()
>>> n1
[]

1.7修改操作

>>> names
['nis', 'chaoyang', 'rain', 'eva', 'xiaodong', 'yongkang']
>>> names[0] = "chaopeng"
>>> names[2] = "lichaoyang"
>>> names
['chaopeng', 'chaoyang', 'lichaoyang', 'eva', 'xiaodong', 'yongkang']

1.8查操作

>>> names
['chaopeng', 'chaoyang', 'lichaoyang', 'eva', 'xiaodong', 'yongkang']
>>> names.index("chaopeng")
0
>>> names.index("1")  #返回从左到右匹配到的第一个索引
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: '1' is not in list
>>> names.count("chaopeng")  #返回chaopeng的个数
1
>>> "eva" in names   #直接查
True

1.9 切片

可以同时取出多个值

>>> names
['chaopeng', 'chaoyang', 'lichaoyang', 'eva', 'xiaodong', 'yongkang']
>>> names[1:4]
['chaoyang', 'lichaoyang', 'eva']

切片的特性是顾头不顾尾,即start的元素会被包含,end-1是实际取出的值

1.9.1 列表切片

>>> names
['chaopeng', 'chaoyang', 'lichaoyang', 'eva', 'xiaodong', 'yongkang']
>>> names[1:4]
['chaoyang', 'lichaoyang', 'eva']
>>> names[1:-2]
['chaoyang', 'lichaoyang', 'eva']
>>> names[1:]  #从开始取到最后
['chaoyang', 'lichaoyang', 'eva', 'xiaodong', 'yongkang']
>>> names[:3]
['chaopeng', 'chaoyang', 'lichaoyang']  #从开头取到第3个

1.9.2 倒着切

>>> a 
['chaopeng', 'xiaodong', 'yongkang', 'chaoyang', 'nis', 'eva', 'penghui', 'eva']
>>> a[-5:-1]
['chaoyang', 'nis', 'eva', 'penghui']
>>> a[-5:]
['chaoyang', 'nis', 'eva', 'penghui', 'eva']

1.9.3 步长

>>> a
['chaopeng', 'xiaodong', 'yongkang', 'chaoyang', 'nis', 'eva', 'penghui', 'eva']
>>> a[0:-1]
['chaopeng', 'xiaodong', 'yongkang', 'chaoyang', 'nis', 'eva', 'penghui']
>>> a[0:-1:1]   #正反颠倒
['chaopeng', 'xiaodong', 'yongkang', 'chaoyang', 'nis', 'eva', 'penghui']
>>> a[0:-1:2]
['chaopeng', 'yongkang', 'nis', 'penghui']
>>> a[0:-1:3]
['chaopeng', 'chaoyang', 'penghui']

1.9.4倒着切 步长

>>> a
['chaopeng', 'xiaodong', 'yongkang', 'chaoyang', 'nis', 'eva', 'penghui', 'eva']
>>> a[-1:-5:-1]
['eva', 'penghui', 'eva', 'nis']
>>> a[:]
['chaopeng', 'xiaodong', 'yongkang', 'chaoyang', 'nis', 'eva', 'penghui', 'eva']
>>> a[0:-1:2]
['chaopeng', 'yongkang', 'nis', 'penghui']
>>> a[::2]
['chaopeng', 'yongkang', 'nis', 'penghui']

1.9.5 列表反转

>>> n = "冯晓三"
>>> n
'冯晓三'
>>> n[::-1]
'三晓冯'
>>> a
['chaopeng', 'xiaodong', 'yongkang', 'chaoyang', 'nis', 'eva', 'penghui', 'eva']
>>> a.reverse()
>>> a
['eva', 'penghui', 'eva', 'nis', 'chaoyang', 'yongkang', 'xiaodong', 'chaopeng']
>>>a[::-1]
>>>a
['chaopeng', 'xiaodong', 'yongkang', 'chaoyang', 'nis', 'eva', 'penghui', 'eva']

1.10排序&反转

1.10.1 排序

>>> b=[83,23,33,56,34,45,54,89]
>>> b.sort()
>>> b
[23, 33, 34, 45, 54, 56, 83, 89]
>>> a.insert(3,"超朋")
>>> a
['!', '#', '12', '超朋', '@', 'chaopeng', 'chaoyang', 'eva', 'eva', 'nis', 'penghui', 'xiaodong', 'yongkang']
>>> a.sort()
>>> a
['!', '#', '12', '@', 'chaopeng', 'chaoyang', 'eva', 'eva', 'nis', 'penghui', 'xiaodong', 'yongkang', '超朋']

2.元组

元组不可修改     #用法同列表

2.1 元组包含列表时

>>> name
(99, 98, 97, ['chaopeng', 'chaoyang'], 33)
>>> name[3][1] = "xiaodong"
>>> name
(99, 98, 97, ['chaopeng', 'xiaodong'], 33)

元组本身不可修改, 如果包含可修改的数据类型, 那被包含的数据类型可以修改。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值