Python中列表操作进阶及元组
列表高级操作
一、遍历列表
>>> ls=['a','d','it']
>>> for val in ls:
... print (val)
...
a
d
it
for后面是个冒号,for循环体行首是四个空格,对于python中所有的缩进,都使用四个空格,如果使用编辑器,为了方便,大家可能会使用Tab制表符代替空格,但要设置Tab制表符用四个空格替换,一般编辑器都会有这个功能。
二、创建数值列表
1、使用range方法几乎可以创建任何形式的数值列表,一个简单的示例如下:
>>> for val in range(,):
... print (val)
...
range方法包前不包后,这和很多编程语言的方法类似。
2、虽然上述示例,直接循环可获取到range分配的每个列表中的元素值,但不能将range(1,5)直接赋值给一个变量,需要使用list方法进行转换
直接将range(1,5)赋值给一个变量,输出的结果并非我们想要的列表
>>> myls=range(,)
>>> myls
range(, )
使用lsit转换成列表
>>> myls=list(range(,))
>>> myls
[, , , ]
3、使用range也可以指定步长,如生成一个等差为3的等差列表
>>> eqdiffls=list(range(,,))
>>> eqdiffls
[, , , , , , , , , , , , , , , , ]
三、列表简单统计计算,如获取最大值,最小值,求和等
>>> countls=list(range(,))
>>> countls
[, , , , , , , , ]
>>> min(countls) >>> max(countls) >>> sum(countls)
四、列表解析
首先明确一下,python中计算平方的格式为val**2,如果要计算2的3次幂可以写成2**3
>>> ** >>> **
如果要生成一组数的平方值的集合,我们可能需要这么做,如1到4的平方值的列表
>>> squarels=[]
>>> for val in range(,):
... squarels.append(val**)
...
>>> squarels
[, , , ]
这种方式生成的列表需要四行,有一种方式通过一行代码就可以生成上述所需的列表,这种方式就是列表解析。
>>> del squarels
>>> squarels=[val** for val in range(,)]
>>> squarels
[, , , ]
五、列表切片
格式为:list[startIndex:endIndex],同样属于包前不包后操作,切片生成了一个新的列表,但不会对之前的列表元素有任何影响
>>> squarels
[, , , ]
>>> squarels[:]
[, ]
从某个索引位置截取到列表结束位置
>>> squarels[:]
[, ]
从开始位置截取到某个位置
>>> squarels[:]
[, ]
如果startIndex和endIndex都不输入,则相当于复制了一个列表
>>> squarels[:]
[, , , ]
列表复制也可使用copy方法,代码更易阅读
>>> squarels.copy()
[, , , ]
遍历切片,和遍历列表方法一样
>>> for val in squarels[:]:
... print (val)
...
元组
元组比较简单,与列表的区别是,初始化时使用小括号(),列表初始化使用中括号[];元组中的元素不能修改,列表中的元素允许修改
一、元组的初始化
元组使用小括号()进行初始化
>>> tup=()
>>> tup=(,,)
二、遍历,与列表一致
>>> for val in tup:
... print (val)
...
三、不能修改元组中变量,修改则报错
>>> tup[]=
Traceback (most recent call last):
File "<stdin>", line , in <module>
TypeError: 'tuple' object does not support item assignment
四。虽然元组中元素不允许修改,但元组本身允许修改
>>> tup=()
>>> tup=(,)
>>>
Python中列表操作进阶及元组的更多相关文章
- Python中列表操作函数append的浅拷贝问题
L=int(input())#L位数N=int(input())#N进制row=[]list1=[]for i in range(1,N): row.append(1)list1.append(row ...
- python中列表和元组以及字符串的操作
python中列表是非常好用的.不过有一些使用小细节还需要注意一下. tag[32:-4] 从index为32到tag的倒数第4个字符. 如果索引为32的值在倒数第4个字符的右边,那么将输出为空.只要 ...
- Python中列表,元组,字典,集合的区别
参考文档https://blog.csdn.net/Yeoman92/article/details/56289287 理解Python中列表,元组,字典,集合的区别 列表,元组,字典,集合的区别是p ...
- python MySQLdb用法,python中cursor操作数据库(转)
数据库连接 连接数据库前,请先确认以下事项: 您已经创建了数据库 TESTDB. 在TESTDB数据库中您已经创建了表 EMPLOYEE EMPLOYEE表字段为 FIRST_NAME, LAST_N ...
- python中文件操作的六种模式及对文件某一行进行修改的方法
一.python中文件操作的六种模式分为:r,w,a,r+,w+,a+ r叫做只读模式,只可以读取,不可以写入 w叫做写入模式,只可以写入,不可以读取 a叫做追加写入模式,只可以在末尾追加内容,不可以 ...
- python中文件操作的其他方法
前面介绍过Python中文件操作的一般方法,包括打开,写入,关闭.本文中介绍下python中关于文件操作的其他比较常用的一些方法. 首先创建一个文件poems: p=open('poems','r', ...
- Neo4j:图数据库GraphDB(四)Python中的操作
本文总结下Python中如何操作Neo4j数据库,用到py2neo包,Pip install 一下. 1 连接neo4j数据库:跟其它数据库一样,操作前必须输入用户名和密码及地址连接一下. from ...
- python中列表元素连接方法join用法实例
python中列表元素连接方法join用法实例 这篇文章主要介绍了python中列表元素连接方法join用法,实例分析了Python中join方法的使用技巧,非常具有实用价值,分享给大家供大家参考. ...
- 对Python中列表和数组的赋值,浅拷贝和深拷贝的实例讲解
引用:https://www.jb51.net/article/142775.htm 列表赋值: 1 2 3 4 5 6 7 >>> a = [1, 2, 3] >>&g ...
随机推荐
- shell脚本作业
.判断/etc/inittab文件是否大于100行,如果大于,则显示”/etc/inittab is a big file.”否者显示”/etc/inittab is a small file.” # ...
- contextlib:上下文管理器工具
介绍 contextlib模块包含的工具可以用于处理上下文管理器和with语句 上下文管理器API ''' 上下文管理器(context manager)负责管理一个代码块中的资源,会在进入代码块时创 ...
- kubernetes之requests和limits
说明 1.当集群中的计算资源不很充足, 如果集群中的pod负载突然加大, 就会使某个node的资源严重不足, 为了避免系统挂掉, 该node会选择清理某些pod来释放资源, 此时每个pod都可能成为牺 ...
- DA_05_Linux(CentOS6.7) 安装MySql5.7数据库
1系统约定 安装文件下载目录:/data/software Mysql目录安装位置:/usr/local/mysql 数据库保存位置:/data/mysql 日志保存位置:/data/log/mysq ...
- Javac可以编译,Java显示找不到或无法加载主类
运行时候加入完整包名.
- vue基本语法 JS补充
目录 一.VUE框架入门 1. vue框架的优势 二.VUE框架的基本使用 1. vue的引用 2. vue的基本语法结构 2. 插值表达式 3. 文本指令 (1)v-text (2)v-html ( ...
- Oracle查询死锁
select sample_time,session_id,sql_id,event,sql_plan_hash_value,blocking_session from dba_hist_active ...
- [学习笔记] 可持久化线段树&主席树
众所周知,线段树是一个非常好用也好写的数据结构, 因此,我们今天的前置技能:线段树. 然而,可持久化到底是什么东西? 别急,我们一步一步来... step 1 首先,一道简化的模型: 给定一个长度为\ ...
- 基于python的爬虫项目
一.项目简介 1.1 项目博客地址 https://www.cnblogs.com/xsfa/p/12083913.html 1.2 项目完成的功能与特色 爬虫和拥有三个可视化数据分析 1.3 项目采 ...
- 强制数据类型转换之Number类型
㈠强制类型转换 1.定义:指将一个数据类型强制转换为其他的数据类型 类型转换主要指,将其他的数据类型,转换为String ,Number, Boolean ㈡将其他的数据类型转换为Number ...