列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如:

li = [‘alex’,123,Ture,(1,2,3,’wusir’),[1,2,3,’小明’,],{‘name’:’alex’}]

列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值。

# li = [123, '老男孩', True, [1, 2, 3], {'name': 'alex'}, (1, 2, 3)]
# 列表称之为容器型数据类型。
# l1 = ['wusir', True, 'alex', 'laonanhai', 'ritian', 'taibai']
# 按照索引取值
# print(l1[0])
# print(l1[1], type(l1[1]))
# 按照切片取值,可取步长 顾头不顾尾
# print(l1[:3])
# print(l1[2:])
# print(l1[::2])
增删改查:
增:
li = [1,'a','b',2,3,'a']
# li.insert(0,55) (索引,元素) #按照索引去增加,插入
# print(li) [55, 1, 'a', 'b', 2, 3, 'a']
# li.append('aaa')    #增加到最后,追加       [1,'a','b',2,3,'a','aaa']
# li.append([1,2,3]) #增加到最后,追加 [1,'a','b',2,3,'a','aaa',[1,2,3]]
# print(li)

# li.extend(['q,a,w']) #迭代的去追加 [1, 'a', 'b', 2, 3, 'a', 'q', ',', 'a', ',', 'w']
# li.extend(['q,a,w','aaa']) [1, 'a', 'b', 2, 3, 'a', 'q,a,w', 'aaa']
# li.extend('a')
# li.extend('abc')
# li.extend('a,b,c')
# print(li) 列表是可迭代对象
字符串转化为列表:
li = []
li.extend('abc')
print(li) ['a', 'b', 'c']
删:

li = [1,'a','b',2,3,'c']
# l1 = li.pop(1)      #按照位置去删除,有返回值
# print(l1) 'a'
# l1 = li.pop() #默认删除最后一位,有返回值
# print(l1) 'c' # li.remove('a') #按照元素去删除,如果有相同元素,只删除第一个
# print(li) [1,'b',2,3,'c'] # li.clear() #清空列表
# print(li) [] 空列表
del:
1,在内存级别删除列表
del l1
print(l1) name 'l1' is not defined
2,按照索引删除。
del l1[2]
print(l1) [1, 'a', 2, 3, 'c']
3,切片删除,可加步长。
del l1[:-1]
print(l1) ['c']

改:
# li = ["windows", "Ubuntu", "CenOS", "Red Hat"]       
# li[1] = "MacOS" #按照索引修改
# print(li) ['windows', 'MacOS', 'CenOS', 'Red Hat']
# li[0:2] = "MacOS"               #按照切片修改       删除旧的,添加新的(迭代添加)
#
print(li) ['M', 'a', 'c', 'O', 'S', 'CenOS', 'Red Hat']

# li[::1] = ["周杰伦","周润发","麻花藤"]           #切片,可加步长         步长为1,等于列表重新赋值
# print(li) ['周杰伦', '周润发', '麻花藤']
# li[::2] = ["周杰伦","周润发","麻花藤"]           如果步长不是1,元素个数必须要匹配,不然会报错
# print(li) attempt to assign sequence of size 3 to extended slice of size 2
# li[::2] = ["周杰伦","周润发"]          
# print(li) ['周杰伦', 'Ubuntu', '周润发', 'Red Hat']
查:
# 索引、切片、for循环
常用操作:
#len     列表长度或列表里面有多少个元素
# print(len(l1))

#count 某元素在列表里出现的次数
# print(l1.count('taibai'))

#index 通过元素找索引
# print(l1.index('alex'))

# l2 = [1, 3, 5, 9, 7, 6, 2, 4]
#sort 从小到大,正序排序
# l2.sort()
# print(l2) [1, 2, 3, 4, 5, 6, 7, 9]
li = ["1", "5","112","11","111","21"]     # 字符串排序,按照位数排
# li.sort()
# print(li) ['1', '11', '111', '112', '21', '5']

#sort 从大到小,倒序排序
# l2.sort(reverse=True)
# print(l2) [9, 7, 6, 5, 4, 3, 2, 1]

#翻转 reverse
# l2.reverse()
# print(l2) [4, 2, 6, 7, 9, 5, 3, 1]


元组 
# 只读列表,不能增删改 只能查询
# tu = (11, 22, 33, 44, 55)
# 基本操作: 索引,切片,步长,for循环,index,len, count
# print(tu[0])
# print(tu[:3:2])
# for i in tu:
# print(i)
# index len count
# 可以del
del tu 内存级别删除
print(tu) name 'tu' is not defined
# tu = ("哈哈", )        # 如果只有一个元素. 必须加一个逗号
# print(tu,type(tu)) ('哈哈',) <class 'tuple'>
# tu = ("哈哈" )        
# print(tu,type(tu)) ('哈哈') <class 'str'>

range:
range(start,end,step) 顾头不顾尾,可切片,可加步长
for i in range(100)        0到99
for i in range(0,100)        0到99
for i in range(0,100,2)        0到98的偶数

列表的枚举:

enumerate:枚举,对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值。

li = ['alex','银角','女神','egon','太白']
for i in enumerate(li):
print(i)

执行结果: 元祖类型

(0, 'alex')
(1, '银角')
(2, '女神')
(3, 'egon')
(4, '太白')

for index,name in enumerate(li,1):
print(index,name)

执行结果: 解构 可以设定索引的起始位置

1 alex
2 银角
3 女神
4 egon
5 太白

for index, name in enumerate(li):  # 起始位置默认是0,可更改
print(index, name)   

执行结果: 解构

0 alex
1 银角
2 女神
3 egon
4 太白



列表,元祖,range的更多相关文章

  1. 列表 元祖 range

    1.列表 list 存放一些数据的容器 比如 衣柜 书包 作用:存储一些数据,数据量比较大 可以下标 可以切片 可以步长 和字符串的完全一样 lst = [1,2,3] print(lst) #[1, ...

  2. Python学习day4 数据类型Ⅱ(列表,元祖)

    day4 知识补充&数据类型:列表,元祖 1.知识补充 1.编译型/解释型 编译型:在代码编写完成之后编译器将其变成另外一个文件教给你算计执行. 代表语言:Java,c,c++ ,c#, Go ...

  3. Python学习笔记---切片 列表 元祖 字典 集合

    列表[1,2,3,2]#[] 元祖(1,2,3,2)#() 字典{1:2,3:2}#{} 集合{1,2,3,2}#{} 1,集合与列表的区别,集合里不能有重复元素 2.字典与集合的区别,都是用花括号表 ...

  4. python-基础-字符串-列表-元祖-字典2

    接上:http://www.cnblogs.com/liu-wang/p/8973273.html 3 元组 4 字典 4.1 字典的介绍 <2>软件开发中的字典 变量info为字典类型: ...

  5. python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍

    目录 python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍.md 一丶字典 1.字典的定义 2.字典的使用. 3.字典的常用方法. python学习第八讲,python ...

  6. python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍

    目录 python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍 一丶元祖 1.元祖简介 2.元祖变量的定义 3.元祖变量的常用操作. 4.元祖的遍历 5.元祖的应用场景 p ...

  7. python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍

    目录 python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍. 二丶列表,其它语言称为数组 1.列表的定义,以及语法 2.列表的使用,以及常用方法. 3.列表的常用操作 ...

  8. python 列表 元祖 集合

    #####################概念#######################1,什么是列表: 列表由[]表示,里面每一项元素用逗号隔开,里面什么都可以装.能装对象的对象. 列表可以装大 ...

  9. python入门(五):切片列表元祖字典

    1.切片 针对序列,使用切片可以获得我们想要的内容 序列:字符串.列表.元祖 特点:可以使用坐标获取某一个值.坐标是从0开始算 >>> s="0123456789" ...

  10. Python入门 [输出,注释,列表,元祖,集合,字典,if,while,for]

    print("Hello Python") #输出 ''' 多行注释 用 三个引号 ''' a=1 #赋值 变量首字母只能书字母下划线 第二个字符数字,字母,下划线 声明一个列表 ...

随机推荐

  1. Linux 路由 策略路由

    Linux 路由 策略路由 目录 Linux 路由 策略路由 一.路由表 编辑路由表配置文件:/etc/iproute2/rt_tables添加删除修改路由表 二.IP策略 查看IP策略 添加IP策略 ...

  2. 浅谈java中的枚举类型(转)

    用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法. p ...

  3. 2.2.2 Sqoop2 基本架构

    主要组件 1.Sqoop Client 定义了用户使用Sqoop的方式,包括客户端命令行CLI和浏览器两种方式,浏览器允许用户直接通过Http方式完成Sqoop的管理和数据的导出 2.Sqoop Se ...

  4. sparkStreaming实时数据处理的优化方面

    1.并行度 在direct方式下,sparkStreaming的task数量是等于kafka的分区数,kakfa单个分区的一般吞吐量为10M/s 常规设计下:kafka的分区数一般为broken节点的 ...

  5. EasyUI 表单插件 multiline easyui-textbox 多行换行失效问题

    1.问题描述:原始html: <input class="easyui-textbox" name="myname" id="myid" ...

  6. MySQL select join on 连表查询和自连接查询

    连表查询 JOIN ON 操作 描述 inner join 只返回匹配的值 right join 会从右表中返回所有的值, 即使左表中没有匹配 left join 会从左表中返回所有的值, 即使右表中 ...

  7. 【Redis】Redis基础 - Redis安装启动测试

    Redis基本 - 安装 文章目录 Redis基本 - 安装 Linux下安装Redis Docker 方式 Github 源码编译方式 直接安装方式 Windows下Redis安装 记录 - Red ...

  8. innobackupex: Connecting to MySQL server with DSN 'dbi:mysql

    [root@ma src]# innobackupex --user=root /root/backup --no-timestamp InnoDB Backup Utility v1.5.1-xtr ...

  9. WIN7系统没有USB驱动和以太网驱动如何操作

    |  欢迎关注个人公众号  zclinux_note  第一时间获取关于linux使用的技巧.探索Linux的奥秘   | 今天在单位安装了一台win7纯净版,但是安装完成后发现usb没有反应,插上网 ...

  10. kubernets之存活探针

    一   存活探针存在的意义 1.1  kubernet通过存活探针(liveness probe)检查容器是否还在运行,可以为pod中的每个容器单独指定存活探针,如果探针执行失败,kubernets会 ...