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" ...
随机推荐
- Activity生命周期,切换,参数传递,bundle(包),值对象,Activity参数返回,Activity的启动模式
Activity代表手机屏幕的一屏,或是平板电脑中的一个窗口.它是android应用中最重要的组成单元之一,提供了和用户交互的可视化界面.在一个Activity中,可以添加很多组件,这些组件负责具体的 ...
- ACM__并查集
并查集是树型的数据结构,处理不想交集合 主要解决查找和合并的问题 步骤: 初始化 把每个点所在的集合初始化为自身 复杂度为O(N) 查找 查找元素所在的集合,即根节点 合并 将两个元素所在的集合合并在 ...
- 减少mysql主从数据同步延迟
网上给出的解决办法: 基于局域网的master/slave机制在通常情况下已经可以满足'实时'备份的要求了.如果延迟比较大,就先确认以下几个因素:1. 网络延迟2. master负载3. slave负 ...
- 自行编译mwan加入openwrt里
参考源文:http://www.right.com.cn/forum/thread-124449-1-1.html 本例以 opoenwrt 12.09正式版为例,原软件来自openwrt 英文论坛: ...
- 学习JS的心路历程-函式(一)
前几天有间单提到该如何声明函式及在Hositing中会发生什么事,但是函式的奥妙不仅于此. 身为一个使用JS的工程师,我们一定要熟悉函式到比恋人还熟! 这几天将会把函式逐一扒开跟各位一起探讨其中的奥妙 ...
- PS-Lite源码分析
PS-Lite源码分析 http://blog.csdn.net/kangroger/article/details/73307685
- 通过GCEASY 和 jfr 发现运行时问题
进入 /dev/shm 目录 ,gc-xxx-xx 的gc 文件 ,上次 gceasy 进行分析 另外 ,通过打开 飞行记录器 , 打开jmc 通过jmx 端口连接上去 ,并启用飞行记录器 ...
- web service,soap ,http,tcp,udp
webservice and soap HTTP只负责把数据传送过去,不会管这个数据是XML.HTML.图片.文本文件或者别的什么.而SOAP协议则定义了怎么把一个对象变成XML文本,在远程如何调用 ...
- python list 常用
l = [,,,] b = [,,] l.remove() #val del l[] #key new_list = l.extend(b) #[,,,,,,] new_list = l.append ...
- GraphicsTier
[GraphicsTier] 1.enum GraphicsTier 2.enum ShaderQuality 3.enum BuildTargetGroup 4.EditorGraphicsSett ...