前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 学习日记第二篇 -- 列表

Python 学习日记第二篇 -- 列表

作者头像
py3study
发布2020-01-14 12:26:14
3230
发布2020-01-14 12:26:14
举报
文章被收录于专栏:python3

一、列表

    列表是一个可以包含所有数据类型的对象的位置有序集合,它是可以改变的。

   1、列表的序列操作(Python3)

代码语言:javascript
复制
>>> one_list = [1,2,3,4]
>>> two_list = ["jonny","jery","david"]
#统计元素数量
>>> len(one_list)
4
#索引,根据偏移量,左起从0开始,右起从-1开始
>>> one_list[0]
1
>>> one_list[-1]
4
#切片
>>> one_list[0:2]
[1, 2]
>>> one_list[:-1]
[1, 2, 3]
>>> one_list[1:]
[2, 3, 4]
#步进,默认为1
>>> one_list[::2]
[1, 3]
#扩展进来新的列表
>>> new_list = one_list + two_list
>>> print(new_list)
[1, 2, 3, 4, 'jonny', 'jery', 'david']

 2、列表的方法

代码语言:javascript
复制
#在列表中加入元素
>>> one_list.append("join")
>>> print(one_list)
[1, 2, 3, 4, 'join']

#查看元素在列表中的偏移量
>>> one_list.index('join')
4

#统计元素在列表中出现的次数
>>> one_list = [1,2,3,4,"join","jonny",3,4,2,45,32,"gg",45]
>>> one_list.count(3)
2

#在列表中指定位置插入元素
>>> one_list.insert(1,"insert_ele")
>>> print(one_list)
[1, 'insert_ele', 2, 3, 4, 'join', 'jonny', 3, 4, 2, 45, 32, 'gg', 45]

#移除指定元素
>>> one_list.remove("insert_ele")
>>> print(one_list)
[1, 2, 3, 4, 'join', 'jonny', 3, 4, 2, 45, 32, 'gg', 45]

#通过附加来自可迭代的元素扩展列表(字符串,列表,元组等)
>>> one_list.extend("extend")
>>> print(one_list)
[1, 2, 3, 4, 'join', 'jonny', 3, 4, 2, 45, 32, 'gg', 45, 'e', 'x', 't', 'e', 'n', 'd']

#移除指定偏移量的元素,不指定则为随机移除
>>> one_list = [1,2,3,4]
>>> one_list.pop()
4
>>> one_list.pop(1)
2
>>> print(one_list)
[1, 3]

#根据ASCII码排序,python2.X系列可对所有元素排序,3.X系列只能对相同类型元素排序
Python3.6
>>> one_list = [3,6,2,8]
>>> one_list.sort()
>>> print(one_list)
[2, 3, 6, 8]
Python2.7
>>> two_list = [3,6,4,7]
>>> two_list.extend("djttdkx01")
>>> print two_list
[3, 6, 4, 7, 'd', 'j', 't', 't', 'd', 'k', 'x', '0', '1']
>>> two_list.sort()
>>> print two_list
[3, 4, 6, 7, '0', '1', 'd', 'd', 'j', 'k', 't', 't', 'x']

#反转列表
>>> two_list.reverse()
>>> print two_list
['x', 't', 't', 'k', 'j', 'd', 'd', '1', '0', 7, 6, 4, 3]

#列表的复制方法一:复制第一级,对于嵌套的列表只是复制其引用位置
>>> one_list = [1,2,3,4,[5,6,7,8]]
>>> two_list = one_list[:]
>>> print(two_list)
[1, 2, 3, 4, [5, 6, 7, 8]]
>>> id(one_list)
5697352
>>> id(two_list)
50197576
#列表复制方法二:复制第一级,对于嵌套的列表只是复制其引用位置
>>> three_list = one_list.copy()
>>> print(three_list)
[1, 2, 3, 4, [5, 6, 7, 8]]
>>> id(three_list)
49960008
#列表复制方法三:copy模块的深度复制
>>> import copy
>>> four_list = copy.deepcopy(one_list)
>>> print(four_list)
[1, 2, 3, 4, [5, 6, 7, 8]]
>>> one_list[4][0] = 55
>>> print(two_list)
[1, 2, 3, 4, [55, 6, 7, 8]]
>>> print(three_list)
[1, 2, 3, 4, [55, 6, 7, 8]]
>>> print(four_list)
[1, 2, 3, 4, [5, 6, 7, 8]]

    3、列表的嵌套

代码语言:javascript
复制
>>> one_list = [2,3,1,7,[2,"gg","david"],87,98]
>>> one_list[4][1][1]
'g'
>>> one_list[4][2]
'david'

    4、列表解析

代码语言:javascript
复制
>>> one_list = [[1,2,3],[4,5,6],[7,8,9]]
>>> new_list = [row[0] for row in one_list]
>>> print(new_list)
[1, 4, 7]

>>> two_list = [row[1] % 2 for row in one_list]
>>> print(two_list)
[0, 1, 0]

 5、练习

代码语言:javascript
复制
'''
练习:找列表中的9替换成9999
同时找出所有的34,全删掉

'''
one_list = ["jym","alex",9,"jonny","sun",3,6,7,8,2,3,1,9,34,543,43,32,34,"gg","jids"]
print(one_list)
for i in range(one_list.count(9)):
    one_list [one_list.index(9)] = 9999
for i in range(one_list.count(34)):
    del one_list[one_list.index(34)]

print(one_list)

二、元组

   元组是不可改变的列表,编写在圆括号中,支持任意类型,任意嵌套等常见操作

   1、元组的序列操作

代码语言:javascript
复制
>>> one_tuple = (1,2,3,4)
#统计元素个数
>>> len(one_tuple)
4

#元组附加
>>> two_tuple = one_tuple + (5,6)
>>> print(two_tuple)
(1, 2, 3, 4, 5, 6)

#索引
>>> one_tuple[0]
1
>>> one_tuple[-2]
3

   2、元组的方法

代码语言:javascript
复制
#查看元素在元组中的偏移量
>>> one_tuple.index(2)
1

#统计元素在元组中出现的次数
>>> one_tuple.count(2)
1

   3、元组的嵌套

    元组本身的元素是不可被修改的,但元组中嵌套的字典或列表的元素是可变的。

代码语言:javascript
复制
>>> t1 = (1,2,{'k1':'v1'})
>>> t1[2]['k1'] = 'v2'
>>> print(t1)
(1, 2, {'k1': 'v2'})

>>> t2 = (1,2,[1,2])
>>> t2[2][0] = 'new1'
>>> print(t2)
(1, 2, ['new1', 2])
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/07/03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档