一、列表

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
>>> 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、列表的方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#在列表中加入元素
>>> 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、列表的嵌套

1
2
3
4
5
>>> one_list = [2,3,1,7,[2,"gg","david"],87,98]
>>> one_list[4][1][1]
'g'
>>> one_list[4][2]
'david'

    4、列表解析

1
2
3
4
5
6
7
8
>>> 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、练习

1
2
3
4
5
6
7
8
9
10
11
12
13
'''
练习:找列表中的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 in range(one_list.count(9)):
    one_list [one_list.index(9)] = 9999
for in range(one_list.count(34)):
    del one_list[one_list.index(34)]
print(one_list)

二、元组

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

   1、元组的序列操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
>>> 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、元组的方法

1
2
3
4
5
6
7
#查看元素在元组中的偏移量
>>> one_tuple.index(2)
1
#统计元素在元组中出现的次数
>>> one_tuple.count(2)
1

   3、元组的嵌套

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

1
2
3
4
5
6
7
8
9
>>> 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])

本文转自 元婴期 51CTO博客,原文链接:http://blog.51cto.com/jiayimeng/1897851

Python 学习日记第二篇 -- 列表,元组相关推荐

  1. Egret入门学习日记 --- 第二篇

    第二篇(学习篇) 既然选好了Egret,那我就要想想怎么学了. 开始第一步,先加个Q群先,这不,拿到了一本<Egret  HTML5游戏开发指南>,阅至三章,得到印象相对较深的好处和坏处: ...

  2. Python学习笔记第二次之列表、字典、集合、数据结构应用之多级菜单

    欢迎大家来我的博客园:https://www.cnblogs.com/xiaomingdexiaoshubao/articles/9249773.html 模块初识 os import oscmd_r ...

  3. Python学习【第二篇】 : Python入门

    Python安装 Hello World 字符编码 变量 用户输入 模块初识 .pyc是个什么? 数据类型 数据运算 表达式if ...else语句 表达式for 循环 break and conti ...

  4. HTML学习日记-第二篇

    上节课我们粗略的介绍了一下html的基本标签,接下来我们开始进入表格标签. 表格标签:作用:用来给一堆数据添加表格语义 其实表格是一种数据的展现形式,当数据量非常大的时候,表格这种展现形式被认为是最为 ...

  5. Python学习日记-第二十六天-飞机大战(发射子弹和碰撞检测)

    系列文章目录 1.发射子弹 2.碰撞检测 一.发射子弹 1.1   添加发射子弹事件 Pygame的定时器使用套路非常固定: 定义定时器常量--eventtid 在初始化方法中,调用set_timer ...

  6. Python学习日记-第二十四天-飞机大战(敌机出场设计)

    系列文章目录 ·使用定时器添加敌机 ·设计Enemy 类 前言 昨天因为有事,所以没有及时更新 一.使用定时器添加敌机 游戏启动后,每隔一秒会出现一架敌机 每架敌机向屏幕下方飞行,飞行速度各不相同 每 ...

  7. Python学习日记-第二十三天-飞机大战(游戏背景设计思路)

    系列文章目录 目标 ·背景简体滚动的思路确定 ·显示游戏背景 前言 这一章节是讲述的飞机大战游戏背景的设计思路细节. 一.背景简体滚动的思路确定 ·游戏启动后,背景图像 会连续不断的向下移动 ·视觉上 ...

  8. Python学习日记-第二十九天-tcp(客户端)

    系列文章目录 tcp介绍 tcp特点 tcp客户端 一.tcp介绍 Tcp协议,传输控制协议是一种面向连接的.可靠的.基于字节流的传输层通信协议,由IETF的RFC 793定义 TCP通信需要经过创建 ...

  9. kali学习日记第二篇 -- Nessus

    一.准备工作 root@kali:~# apt-get update; apt-get upgrade; apt-get dist-upgrade 二.获取安装 1.从http://www.nessu ...

最新文章

  1. Oracle别名大小写 -----解决方案
  2. nginx location 在配置中的优先级
  3. DataKeyNames
  4. SQL Server查询死锁并KILL
  5. 双向链表(代码、分析、汇编)
  6. 计算机小知识点GIF,计算机基础全部知识点 讲解.doc
  7. Random Forest
  8. xpage 传参_jQuery iScroll.js 移动端滚动条美化插件第1/5页
  9. php颜色十六进制代码,如何通过PHP中的十六进制代码检索颜色的人名
  10. Qt QSettings读写ini时 General 读不出来值
  11. 吴涛作品介绍-易语言和VOLCANO 3D游戏引擎
  12. springboot下载resources目录下的文件
  13. 职场知识:什么是软件程序员?它是做什么的?
  14. idea社区版创建springboot_idea社区版+spring boot
  15. HTTPS/数字证书/数字签名
  16. pvpgn mysql d2gs_pvpgn战网命令集
  17. 装机——恢复系统 Windows 10 自带一键还原
  18. 常见的嵌入式操作系统
  19. python b站 排行_Python爬虫抓取B站小视频排行榜,新手也可以跟着做哦!
  20. 浅析微信支付:开通社交立减金活动、创建立减金及领取使用的相关文档和源码

热门文章

  1. rotateright_Java Long类rotateRight()方法的示例
  2. Python程序计算给定文本中单词的出现
  3. Python求解多项式方程
  4. 【竞赛题解】Codeforces Round #710 (Div. 3)
  5. app调html页面,app界面管理(风格色调).html
  6. 【剑指offer】_02替换空格
  7. linux下cron定时任务的总结
  8. 844. Backspace String Compare
  9. x86异常处理与中断机制(2)中断向量表
  10. 全套学习!mysql2003错误代码