python 之路 《三》列表与元组
我也试着把我写的东西给我的一些同学看,其实这只是我的经验还是比较建议先看书,或者在网上找相关的教学视频有了一定的基础之后再来看我写的文章,将我的经验与自己所学的知识相结合这样才会有所提高。有的同学建议将我放在文章里面的代码块的运行结果也放在文章里面。其实我觉得假如你看懂之后最好自己对照的写一遍,自行感悟。初学者光看是看不懂的,还是有自己多练才行啊。要对自己有相信。我写的东西都是从我的笔记中摘取出来的,可以说是简化了好几遍。每一门语言都是相同的,但是每一门语言都是不同的,建议大家不要一直揪这 python与其他与语言的区别来学习。最好是把自己想象成是第一次学习程序。希望大家都可以学好python,领略python之美。
在写此篇文章的时候我就在考虑要不要把元组与列表分开写。但是当初我自己在学的时候由于列表与数组非常的相近所以在熟悉了列表之后,对于元组几乎就是看了一下就大概会了。所以我觉得我还是有必要将两者在同一篇文章中写。再次强调,我是在我自己的笔记中简练的写出来的,有很多细节没有详细描述。希望大家夯实基础。
1.列表
列表是Python中最基本的数据结构。
python与大多数语言一样都是从0开始计数的,例如c语言数组的下标。
由于在python中字符类型大体上被分成了字符串类型与整形也就是(string int)大体大家在使用的时候就可以清晰的感觉出。
序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
Python有6个序列的内置类型,但最常见的是列表和元组。
序列都可以进行的操作包括索引,切片,加,乘,检查成员。
此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
列表的数据项不需要具有相同的类型
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。
1 age = 9
2 list1 = ['shanghai', 'beijing', 'book']
3 list2 = [1, 2, 3, 4, 5]
4 list3 = ['name', 'age', 9, age]
5 # 由此可见列表中的元素可以是多种形式
6 # 可以是变量,可以是字符串,可以是数字(这样看来是不是比其他高级语言更加灵活?)
1.1访问列表中的元素
那么当我们的列表中已经有了元素之后我们该如何取值呢
在这里我们要知道的是列表中的元素是有序的,也就是说列表中的每一个元素都有他的下标,这个下标从0开始
1 print("list2中的第一个元素加上第二个元素等于 %s+%s=%s" % (list2[0], list2[1], list2[0]+list2[1]))
2 # 大家可以运行这一段代码看一下结果
3 # 值得注意的是 list2里面的元素都为数字,我们升值可以直接使用下标来使之相加,但是我们代替他的却是%s
4 # 那么大家想想这是什么原因呢 这里我就不详细解释了,一千个观众就有一千个哈姆雷特
5 # 还是希望大家多多思考.多多使用,这里习惯写c语言的肯定不适应
1.2更新列表
我们这里的更新列表就是增加或者修改列表里面的值啦
代码块里面注释的可以详细看哦
1 # 第一种append append 就是按顺序追加默认从最后开始追加
2 list3.append("uzi")
3 # 第二种按位置插入
4 list3.insert(1, 'mlxg') # 此时下标是1 记住是下标 原来下标为一的变成了2
5 # 第三种改写
6 list3[0] = 'miki'# 按下标改写
1.3删除列表元素
列表具有增删改查的性质由此 删除的用法为
1 # 第一种指定删除
2 list3.remove('shanghai') # 指定删除列表中的某个元素如果列表中没有这个元素就会报错哦
3 # 第二种 按下标删除
4 list3.pop() # 若括号内著名了要删除的下标则按照下标删除,若未注明则默认删除最后一个.
5 # 第三种按位置删除
6 del list3[0] # 此种用法是用到了del 可自行了解python中的del
# 全部清除
list3.clear()
1.4查
查找那我就直接上代码了 上代码之前我要告诉大家的是 这代码里面的list都在最上面的代码块中有定义
# 查找列表中某个已知元素的下标
print(list3.index('shanghai'))
#查到之后你也可以这样用
print(list3[list3.index('shanghai')])
# 统计已知元素有多少个
print(list3.count('shanghai'))
# 按首字母排序【特殊符号》数字》字母大写》字母小写】
list3.sort()
1.5 其他运用
列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。
如下所示:
Python 表达式 | 结果 | 描述 |
---|---|---|
len([1, 2, 3]) | 3 | 长度 |
[1, 2, 3] + [4, 5, 6] | [1, 2, 3, 4, 5, 6] | 组合 |
['Hi!'] * 4 | ['Hi!', 'Hi!', 'Hi!', 'Hi!'] | 重复 |
3 in [1, 2, 3] | True | 元素是否存在于列表中 |
for x in [1, 2, 3]: print x, | 1 2 3 | 迭代 |
1.6列表的切片
1 #python从0开始计数因为二进制第一位是0
2
3 names = ['curry','kawayi','world pleas','miki']
4 print(names)
5 print(names[2]) # 取第三个从0开始计数
6 print(names[1:3]) # 取值为左闭右开所以取出的为第二个和第三个
7 print(names[-1]) # 倒数第一个
8 print(names[-3:-1]) # python中只能从右往左数,不能是[-1,-3]
9 print(names[-2:]) # 这种取法为从倒数第二个去到最后一个
1.7其他方法
元组的使用注意:元组的使用不同与列表的是元组不能对里面元素进行修改其他都相同。
Python包含以下函数:
序号 | 函数 |
---|---|
1 | cmp(list1, list2) 比较两个列表的元素 |
2 | len(list) 列表元素个数 |
3 | max(list) 返回列表元素最大值 |
4 | min(list) 返回列表元素最小值 |
5 | list(seq) 将元组转换为列表 |
Python包含以下方法:
序号 | 方法 |
---|---|
1 | list.append(obj) 在列表末尾添加新的对象 |
2 | list.count(obj) 统计某个元素在列表中出现的次数 |
3 | list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) |
4 | list.index(obj) 从列表中找出某个值第一个匹配项的索引位置 |
5 | list.insert(index, obj) 将对象插入列表 |
6 | list.pop([index=-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 |
7 | list.remove(obj) 移除列表中某个值的第一个匹配项 |
8 | list.reverse() 反向列表中元素 |
9 | list.sort(cmp=None, key=None, reverse=False) 对原列表进行排序 |
python 之路 《三》列表与元组的更多相关文章
- python之路:列表及元组之定义
python开发之路:列表及元组之定义 列表是以后用处较大的一个数据类型,这种数据类型可以存储按组分类的信息.好了,我不多说,开始讲了! 好了,现在我有个情景,我要存东汉时期(韩国,秦国,……)所 ...
- 小白的Python之路 day2 列表、元组操作
1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 1 names = ['Tom','Jack','Qian'] 通过下标访问列表中 ...
- python基本数据类型之列表和元组
python基本数据类型之列表与元组 python中list与tuple都是可以遍历类型.不同的是,list是可以修改的,而元组属于不可变类型,不能修改. 列表和元组中的元素可以是任意类型,并且同一个 ...
- 第三章 Python 的容器: 列表、元组、字典与集合
列表是Python的6种内建序列(列表,元组,字符串,Unicode字符串,buffer对象,xrange对象)之一, 列表内的值可以进行更改,操作灵活,在Python脚本中应用非常广泛 列表的语法格 ...
- Python【2】-列表和元组
一.序列 python包含六种内建的序列:列表.元组.字符串.unicode字符串.buffer对象.xrange对象. 列表可以修改,元组是不能修改的. 二.列表 列表list是变长序列,其中的内容 ...
- .Net程序员之Python基础教程学习----列表和元组 [First Day]
一. 通用序列操作: 其实对于列表,元组 都属于序列化数据,可以通过下表来访问的.下面就来看看序列的基本操作吧. 1.1 索引: 序列中的所有元素的下标是从0开始递增的. 如果索引的长度的是N,那么所 ...
- python学习笔记之列表与元组
一.概述 python包含6种内建的序列,其中列表和元组是最常用的两种类型.列表和元组的主要区别在于,列表可以修改,元组则不能修改 使用上,如果要根据要求来添加元素,应当使用列表:而由于要求序列不可修 ...
- PYTHON常用数据类型(列表,元组,字典)
一.数字 1.整形:就是整数. 2.浮点型:就是小数. 3.布尔型:True或者是False,python里严格区分格式,空格缩进或者是大小写. 4.运算符有+ – * / ()%(求模运算取余数)* ...
- python之字符串、列表和元组
先简单的了解一下两个相关概念 模块 python中的模块需要使用特殊的命令import来导入.格式:模块.函数.如下: 在确定自己不会导入多个同名函数的情况下,可以使用import命令的另外一种形式: ...
- Python学习笔记_week2_列表、元组、字典、字符串、文件、i编码
一. 列表.元组 names=["A","B","C","D"] print(names) print(names[0] ...
随机推荐
- 性能测试-CPU瓶颈分析的思路
CPU(中央处理器),是电子计算机的主要设备之一,电脑中的核心配件.CPU作为计算机系统的运算和控制核心,是信息处理.程序运行的最终执行单元.CPU的功效主要为处理指令.执行操作.控制时间.处理数据. ...
- 最大子段和之M子段和
最大M子段和 题目模型 N个整数组成的序列 \(a_1,a_2,a_3,-,a_n\) ,将这N个数划分为互不相交的M个子段,并且这M个子段的和是最大的. 问题分析 方法一: 看到序列,我们首先要尝试 ...
- vagrantfile-参考示例
Vagrantfile 文件 bt为你需要新建的box名字 Vagrant.configure("2") do |config| config.vm.box = &qu ...
- docker 启动redis/nginx
1.docker 启动redis # redis docker run -itd --name redis-test -p 16379:6379 redis 2.docker 启动nginx ...
- linux(centos8):kubeadm单机安装kubernetes(kubernetes 1.18.3)
一,kubernetes安装的准备工作: 1,准备工作的各步骤请参见: https://www.cnblogs.com/architectforest/p/13141743.html 2, ma ...
- linux(centos8):用uniq去除文本中重复的行(去重)
一,uniq命令的用途 1, 作用: 从输入文件或标准输入中找到相邻的匹配行, 并写入到输出文件或标准输出 2, 使用时通常会搭配sort使用 说明:刘宏缔的架构森林是一个专注架构的博客,地址:htt ...
- 面试官:为什么MySQL的索引要使用B+树,而不是其它树?比如B树?
InnoDB的一棵B+树可以存放多少行数据? 答案:约2千万 为什么是这么多? 因为这是可以算出来的,要搞清楚这个问题,先从InnoDB索引数据结构.数据组织方式说起. 计算机在存储数据的时候,有最小 ...
- 模板c++
#define _CRT_SECURE_NO_WARINGS #include <iostream> using namespace std; int main(void) { retru ...
- frida框架hook常用字符串模板总结
ArrayBuffer转String: 解决中文乱码(模板) function ab2str(buf) { return new Uint16Array(buf) // encodedString = ...
- css自定义字体----使用外部字体文件
css外部自定义字体 给大家分享一个使用的css小技巧!记得收藏呀!相信大家在浏览各种网站会见到各种奇形怪状花里胡哨的文字,还有就是一些浏览器兼容性问题,不会支持一些特殊的字体!给大家分享一个极其简单 ...