python记录_day04 列表 元组
今日主要内容:
列表 和 元组
列表
一、列表介绍
列表是一种能存储大量数据的数据结构,是能装对象的对象。由方括号 [] 括起来,能放任意类型的数据,数据之间用逗号隔开
列表存储数据是有顺序的
二、增删改查
lis = []
1、增加 (三种)
lis.append() 在末尾追加,一次只能加一个
lis.insert(index, 元素) 在指定位置插入元素,这种方法由于会改变列表中其他索引,“牵一发而动全身”,所以运行效率会低一些
lis.extend(可迭代对象) 迭代添加
2、删除
lis.pop() “弹出一个” 删除末尾的元素,并返回删除的元素值,也可以指定索引删除指定元素(通过索引删除)
lis.remove(元素) 移除一个某个元素(通过值删除元素)
lis.clear() 清空列表
切片删除
del lis[1:3] # 删除索引是1,2的元素
索引切片修改
# 修改
lst = ["太白", "太", "五", "银王", "日天"]
lst[1] = "太污" # 把1号元素修改成太污
print(lst)
lst[1:4:3] = ["麻花藤", "哇靠"] # 切片修改也OK. 如果步长不是1, 要注意. 元素的个数
print(lst)
lst[1:4] = ["李嘉诚很厉害"] # 如果切片没有步长或者步长是1. 则不用关心个数
print(lst) 结果:
['太白', '太污', '五', '银王', '日天']
['太白', '麻花藤', '五', '哇靠', '日天']
['太白', '李嘉诚很厉害', '日天']
3、修改
只能根据索引值修改
即
lis[index] = " new"
4、查询
、根据索引和切片查找某个或某些元素
lis = ["列","表","与","元组"]
# 循环输出列表中元素
for c in lis :
print(c) # 代表列表中每个元素 # 循环输列表中元素 带索引
for n in rang(len(lis)):
print(n, lis[n])
、列表循环遍历
三、列表常用功能
lis.count(元素) 统计某个元素在列表出现次数
lis.index(元素) 返回元素的索引 没有时报错 ValueError: 5 is not in list
lis.sort() 列表排序,对于纯数字元素的列表,从小到大排序(升序)
lis.sort(reverse = True) 从大到小排序(逆序)
注意: 字符串不要用这个方法排序,不是不能排,而是用这个方法排完也没有什么价值,因为用的是默认的字符串比较大小的方式
"xxx".join(lis) 用"xxx"将列表元素连成字符串, 和split()功能相反 两个可以一起记
四、列表嵌套
想要找某个元素是,用降维的方法,一层一层的找,一定要注意每一层对应的是什么数据
元组
元组由括号()括起来。可以存任意类型数据
元组是不可变数据类型,所以,增删改查中只有查能进行,所以也被称为“只读列表”
对元组不可变性的理解:
它的不可变性体现在元组在创建时第一层元素的内存地址就是固定的了,所以如果元素是不可变数据类型,比如字符串,那么是无法对其有修改操作的,但如果元素是可变数据类型,比如列表,是可以对其进行一些修改操作的。参考图解

注意坑:元组如果只有一个元素,要加逗号,不然会将括号算作运算符
t1 = (2)
t2 = (2,)
t3 = (1,2,3,)
print(t1) #
print(type(t1)) #<class 'int'>
print(t2) #(2,)
print(type(t2)) #<class 'tuple'>
print(t3) #(1,2,3)
print(type(t3) #<class 'tuple'>
code
常用操作:
t = (1,2,2,4,5,"张")
t.index() 查找指定索引元素 元素不存在时报错 ValueError: tuple.index(x): x not in tuple
t.count() 统计某个元素出现次数
补充知识:
range()函数
range(n) 遍历[0,n)的元素
range(m,n) 遍历[m,n)的元素
range(m,n,p) 从m到n, 每隔p个取一个 p为负数可以倒序遍历 如range(100,0,-1) 遍历[100,0)的元素
python记录_day04 列表 元组的更多相关文章
- python基础(五)列表,元组,集合
列表 在python中是由数个有序的元素组成的数据结构,每一个元素对应一个index索引来隐式标注元素在列表中的位置.是python中最常用的一种数据类型.需要注意的是列表中可以有重复相同的数据. 列 ...
- python 序列结构-列表,元组,字典,字符串,集合
列表 """ name_list.__add__( name_list.__getslice__( name_list.__new__( name_list.append ...
- python 学习分享-列表元组篇
1 列表(list) 下面的代码就是把一个变量赋值为列表 a=['laay','aay','ay','y'] 列表中存在索引,可以通过索引来访问列表中的值,也可以通过索引完成切片 print(a[0] ...
- python学习之列表元组,字典
list:元素性质可以不一致,元素还可以是list,可类似数组方法进行索引(也可以用负数索引,-1表示最后一个),可用.append('')进行动态增加,可用pop()删除最后一个或者pop(i)删除 ...
- python之路(列表,元组)
列表 list:基础数据类型之一,可以索引,切片,步长,切片+步长可以增删改查,可迭代,可嵌套字典,元组,列表 一.索引,切片,步长 list01 = [1,2,3,'eric','west'] 1. ...
- Python初学笔记列表&元组&字典
一.从键盘获取 1 print("请输入") 2 username = input("姓名:") 3 age = input("年龄:") ...
- python记录_day04(补充)
列表删除 切片删除 del lis[1:3] # 删除索引是1,2的元素 修改 索引切片修改 # 修改 lst = ["太白", "太", "五&q ...
- Python中的列表,元组,字符串之间的相互转化
Python中的列表元组和字符串之间的相互转化需要利用,tuple(),list(),str(). 示例如下: >>> the_string = "hello I'am x ...
- Python摸爬滚打之day04----基本数据类型(列表,元组)
1.列表 列表是可变的, 有序的数据类型,列表是按照添加顺序来保存的,可以存放各种数据类型. 1.1 列表的切片(同字符串) 1.2 列表的增删改查 注意: 列表是可以直接在列表上面进行操 ...
随机推荐
- newcoder H肥猪(单调队列 / 线段树)题解
题意: 小B来到了一个异世界,成为了肥猪之王. 在这个异世界,共有n种肥猪,编号分别为1,...,n. 小B希望集齐这n种肥猪. 召集肥猪有两种方式: 1. 花费a[i]的金币召唤一只编号为i的肥猪. ...
- sonarqube中new issue的标准
https://docs.sonarqube.org/latest/user-guide/issues/#header-4 Understanding which Issues are "N ...
- python学习 day06打卡
今天学习的主要内容是: 一,小数据池 代码块的概念 python程序是由代码块构成的,一个代码块的文本作为python程序执行的单元. 代码块:一个模块,一个函数,一个类,甚至每一个command命令 ...
- PHP 时间函数time、date和microtime的区别
一.time.date 和 microtime函数 time----返回当前的 Unix 时间戳 date----格式化一个本地时间/日期 microtime----返回当前的 Unix 时间戳和微秒 ...
- VR外包团队:魔幻的三星GearVR
如果问大大菌,移动端什么产品最好,大大菌一定会和你说,是gearvr,对于已经购买了三星2015旗舰手机.又对VR技术感到好奇的用户,建议花99美元买一台Gear VR,绝对会让你物有所值. 在短短的 ...
- Codeforces Round #271 (Div. 2) E. Pillars 线段树优化dp
E. Pillars time limit per test 1 second memory limit per test 256 megabytes input standard input out ...
- hdu 6053 TrickGCD 筛法
TrickGCD Time Limit: 5000/2500 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) Probl ...
- pandas计数 value_counts()
来自:曹骥 在pandas里面常用value_counts确认数据出现的频率. 1. Series 情况下: pandas 的 value_counts() 函数可以对Series里面的每个值进行计数 ...
- synchronized和volatile
迄今为止,看到的最清楚的一篇: https://zhuanlan.zhihu.com/p/29866981 volatile https://zhuanlan.zhihu.com/p/34362413
- eclipse中启动 Eclipse 弹出“Failed to load the JNI shared library jvm.dll”错误
原因1:给定目录下jvm.dll不存在. 对策:(1)重新安装jre或者jdk并配置好环境变量.(2)copy一个jvm.dll放在该目录下. 原因2:eclipse的版本与jre或者jdk版本不一致 ...