Day 04 列表,元祖,range
列表:
why:
1、字符串取值费劲
2、对字符串做任何操作,取出来的都是字符串
3、字符串有长度限制
基于以上原因,python提供了另一个数据类型,list 容器类数据类型。
列表页脚数组,可以存放不同的数据类型,而且可以存储大量数据
32位python的限制是 536870912 个元素,
64位python的限制是 1152921504606846975 个元素
而且列表是有序的,有索引值,可切片,方便取值。
使用列表:
1、索引, 切片 (步长)
2、增删改查
3、其他操作方法
用在哪些地方:
存储大量数据,并且保持原数据类型时,需要列表
安装顺序,或者按照一定规则存储数据
列表的使用:
索引,切片
l1 = ['wusir', 'alex', '日天', '太白', 100 ,'太白']
s1 = l1[1]
print(s1, type(s1))
i1 = l1[-1]
print(i1, type(i1))
l2 = l1[:3]
print(l2)
l3 = l1[:-4:-1]
print(l3)
增 append, inset, extend
1、append 只能加一个值,可以是字符串,数字,列表,字典,集合
l1 = ['wusir', 'alex', '日天', '太白', 100 ,'太白']
l2 = l1.append(' ')
print(l1) # ['wusir', 'alex', '日天', '太白', 100, '太白', ' ']
往列表中间加值:
name_list = []
while 1:
username = input('请输入姓名: ').strip()
if username.upper() == 'Q':
break
name_list.append(username)
print(name_list)
2、inset
l1 = ['wusir', 'alex', '日天', '太白', 100 ,'太白']
l1.insert(1, [1, 2, 3, 44]) # 索引+ 值(可以是任何数据类型)
print(l1)
3、extend
extend 迭代追加,如果是字符串,则将字符串的每一个字符,追加至列表。如果是字典,则只增加key到列表中
l1 = ['wusir', 'alex', '日天']
l1.extend('abc') # ['wusir', 'alex', '日天', 'a', 'b', 'c']
l1.extend(['alex', 'echo']) #['wusir', 'alex', '日天', 'alex', 'echo']
l1.extend({'name': 'echo', 'age': 18}) #['wusir', 'alex', '日天', 'name', 'age']
print(l1)
删: pop,remove,clear,del
pop: 只能根据索引取值,超出范围会报错
l1 = ['wusir', 'alex', '日天']
ret = l1.pop(0) # 按照索引删除,不支持切片
print(ret) # 有返回值
print(l1) # ['alex', '日天']
remove :
按照值
l1 = ['wusir', 'alex', '日天', 'wusir']
l1.remove('wusir') # 按照值删除列表,一次只能删除一个值
print(l1)
clear :清空列表里面的值,保留列表
l1 = ['wusir', 'alex', '日天', 'wusir']
l1.clear()
print(l1)
del
1,按照索引删除单个元素 与pop相同
2,按照切片删除一部分元素
3,按照切片(步长)删除一部分元素
l1 = ['wusir', 'alex', '日天', 'wusir']
del l1[-1]
print(l1)
del l1[-1]
print(l1)
del l1[:3]
print(l1)
del l1[:3:2]
print(l1)
改 :
1,按照索引改
2,按照切片改
3,按照切片(步长)改
l1 = ['wusir', 'alex', '日天', 'wusir', 'echo', 123]
l1[0:2] = 'abcd' # ['a', 'b', 'c', 'd', '日天', 'wusir']
print(l1) # 把[0],[1]删除,把'a','b','c','d'添加进去
l1[:3] = ['al', 'echo'] #['al', 'echo', 'wusir']
l1[:3:2] = '太白' # 如果是按步长取值,需要被替换的值必须和替换值个数相等
print(l1) # 替换[0],[2]两个值,'太白'也是两个值。如果两边不相等,则报错
查:
按照索引,按照切片
for i in l1:
print(i)
其他操作:
print(len(l1)) # 测试总个数
count # 计算某个元素出现的个数
print(l1.count('太白'))
index 通过元素找索引找第一个就返回,找不到就报错
sort 排列
l1 = [2, 7, 6, 5, 1, 8, 9]
l1.sort() #正序
print(l1) # [1, 2, 5, 6, 7, 8, 9]
l1.sort(reverse=True) #倒叙
print(l1) # [9, 8, 7, 6, 5, 2, 1]
l1.reverse() # 翻转排列
print(l1) # [9, 8, 1, 5, 6, 7, 2]
列表的嵌套:
l1 = [1, 2, 'taibai', [1, 'alex', 3]]
l1[2] = l1[2].upper() # 将'taibai'换成'TAIBAI' 用列表的改
print(l1) # [1, 2, 'TAIBAI', [1, 'alex', 3]]
l1[3].append('老男孩教育')
print(l1) # [1, 2, 'taibai', [1, 'alex', 3, '老男孩教育']]
l1[3][1] += 'sb' # 将'alex' 改成 'alexsb' 用列表的查和改
print(l1) # [1, 2, 'taibai', [1, 'alexsb', 3]]
元组:
用()表示,里面的数据无法修改 (子数据不能改,孙数据可能可以改)
用tuple表示
tu = (1, '太白', True, [1, 2, 3,] ,(1,2,),{'name':'alex'}, {1,2,3})
支持查,索引,切片,步长
range :
ret = range(1, 10) # 顾头不顾尾 l1 = [1, 2, 3, 4, 5, 6, 7 ,8, 9]
ret = range(1, 10, 2)
for i in ret:
print(i) # 1 3 5 7 9 支持切片,步长
#列表中含有别表,字典,打印所有值
l1 = [1, 2, 3, [44, 55],66, {'name':'echo', 'age': 18}]
for i in l1:
if type(i) == list:
for j in i:
print(j)
elif type(i) == dict:
for x in i:
print(x)
else:
print(i)
Day 04 列表,元祖,range的更多相关文章
- 列表 元祖 range
1.列表 list 存放一些数据的容器 比如 衣柜 书包 作用:存储一些数据,数据量比较大 可以下标 可以切片 可以步长 和字符串的完全一样 lst = [1,2,3] print(lst) #[1, ...
- Python学习day4 数据类型Ⅱ(列表,元祖)
day4 知识补充&数据类型:列表,元祖 1.知识补充 1.编译型/解释型 编译型:在代码编写完成之后编译器将其变成另外一个文件教给你算计执行. 代表语言:Java,c,c++ ,c#, Go ...
- Python学习笔记---切片 列表 元祖 字典 集合
列表[1,2,3,2]#[] 元祖(1,2,3,2)#() 字典{1:2,3:2}#{} 集合{1,2,3,2}#{} 1,集合与列表的区别,集合里不能有重复元素 2.字典与集合的区别,都是用花括号表 ...
- python-基础-字符串-列表-元祖-字典2
接上:http://www.cnblogs.com/liu-wang/p/8973273.html 3 元组 4 字典 4.1 字典的介绍 <2>软件开发中的字典 变量info为字典类型: ...
- python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍
目录 python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍.md 一丶字典 1.字典的定义 2.字典的使用. 3.字典的常用方法. python学习第八讲,python ...
- python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍
目录 python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍 一丶元祖 1.元祖简介 2.元祖变量的定义 3.元祖变量的常用操作. 4.元祖的遍历 5.元祖的应用场景 p ...
- python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍
目录 python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍. 二丶列表,其它语言称为数组 1.列表的定义,以及语法 2.列表的使用,以及常用方法. 3.列表的常用操作 ...
- day 04 list,元祖
1,作业讲解 # s = '132a4b5c' # s1 = s[0]+s[2]+s[1] # print(s1) index = 0 # while 1: # print(s[index]) # i ...
- python 列表 元祖 集合
#####################概念#######################1,什么是列表: 列表由[]表示,里面每一项元素用逗号隔开,里面什么都可以装.能装对象的对象. 列表可以装大 ...
- python入门(五):切片列表元祖字典
1.切片 针对序列,使用切片可以获得我们想要的内容 序列:字符串.列表.元祖 特点:可以使用坐标获取某一个值.坐标是从0开始算 >>> s="0123456789" ...
随机推荐
- 服务发现 - consul 的介绍、部署和使用(转)
什么是服务发现 相关源码: spring cloud demo 微服务的框架体系中,服务发现是不能不提的一个模块.我相信了解或者熟悉微服务的童鞋应该都知道它的重要性.这里我只是简单的提一下,毕竟这不是 ...
- 【384】reduce归纳、map映射、filter筛选 的用法
参考:4. Map, Filter and Reduce — Python Tips 0.1 documentation 参考:Python的functools.reduce用法 Map:映射,对于列 ...
- 软件工程github使用小结
1.在 https://github.com/join 这个网址处申请注册一个Github账号,申请成功后可在https://github.com/login 处利用刚刚注册的账号进行登录,才能开始在 ...
- winform clickonce在线安装
转 http://swanmsg.blog.sohu.com/162994305.html
- pandas库的数据类型运算
pandas库的数据类型运算 算数运算法则 根据行列索引,补齐运算(不同索引不运算,行列索引相同才运算),默认产生浮点数 补齐时默认填充NaN空值 二维和一维,一维和0维之间采用广播运算(低维元素与每 ...
- java的acm输入输出格式+大数语法
1.类名称必须采用public class Main方式命名 2.多组输入,读取到文件尾 Scanner scan=new Scanner(System.in); while(scan.hasNext ...
- mysql 数据导出
windowos: select * from pj_zzspdz_fpmx order by kprq desc LIMIT 0,1000000 into outfile 'd:\fpmx.xls ...
- CSS----盒子模型与浮动
盒模型(框模型) 页面上任何一个元素我们都可以看成是一个盒子,盒子会占用一定的空间和位置他们之间相互制约,就形成了网页的布局 w3c的盒模型的构成:content border padding ma ...
- RepeatMasker
1.简介 RepeatMasker是一款基于Library-based,通过相似性比对来识别重复序列,可以屏蔽序列中转座子重复序列和低复杂度序列(默认将其替换成N).提供有在线服务.RepeatMas ...
- 大型运输行业实战_day12_1_权限管理实现
1.业务分析 权限说的是不同的用户对同一个系统有不同访问权限,其设计的本质是:给先给用户分配好URL,然后在访问的时候判断该用户是否有当前访问的URL. 2.实现 2.1数据库设计标准5表权限结构 2 ...