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 列表的增删改查 注意: 列表是可以直接在列表上面进行操 ...
随机推荐
- SpringBoot 调用 mysql存储过程的实战
网络上写的一堆都不能用的 好吧.. 首先创建 存储过程 DROP PROCEDURE IF EXISTS dfsSons; CREATE PROCEDURE dfsSons(IN rootid INT ...
- UVA11417 GCD
题目地址 题目链接 题解 先讨论任何没有限制的情况 \[ \large { \begin{aligned} &\sum_{i=1}^{n}\sum_{j=1}^{n}gcd(i,j)\\ &a ...
- kubernetes 实战4_命令_Configure Pods and Containers
Configure Service Accounts for Pods A service account provides an identity for processes that run in ...
- Entity Framework Core导航属性加载问题
前言 今天下午在开发的时候发现EF Core实体模型中的导航属性为 null,经排查既不是没有加 virtual 关键字,也不是外键关系映射错误. 解决方法 通过查询官网文档,发现,原因在于EF Co ...
- 配置httpd支持https
1.首先为192.168.108.159创建私有CA #cd /etc/pki/CA # (umask 077;openssl genrsa -out private/cakey.pem 2048) ...
- ASP.NET —— Web Pages
为简单起见,新建一个空的web工程,再新建一个MVC的视图(.cshtml),因为WP是单页面模型,所以以后就在这个页面中进行试验. Razor语法简介: 变量可用var或者其确切类型声明. 遍历fo ...
- oracle 与其他数据库如mysql的区别
想明白一个问题:(1)oracle是以数据库为中心,一个数据库就是一个域(可以看作是一个文件夹的概念),一个数据库可以有多个用户,创建用户是在登陆数据库之后进行的,但是有表空间的概念(2)而mysql ...
- Windows下使用命令安装Python的scipy库出错的解决
平时使用Python都是在Sublime下使用,不想使用IDE.使用各种库时安装也就是使用pip安装即可.来说说今天自己遇到的一个问题:使用scipy数学库时,使用命令: pip install sc ...
- How Many O's? UVA - 11038
这个题个人感觉有点难,不容易理解. 题意 给你两个数,n,m,找出从n到m所有的数一共包含几个0,看似简单,包含0的不就都是整数么,然后就用暴力循环来找,绝对TL.我自己写这题也没有什么好的办法,没有 ...
- [转][C++]佛祖保佑,永无bug。C++ BUG解决方案
// // _oo0oo_ // o8888888o // 88" . "88 // (| -_- |) // 0\ = /0 // ___/`---'\___ // .' \\| ...