一.列表

1.什么是列表.

列表是python的基本数据类型之一,用[]来表示,可以存放各种数据类型(什么都能装,能装对象的对象)

列表相比于字符串,不仅可以存放不同类型的数据,而且可以存放大量的数据.

2.列表的索引和切片(列表和字符串一样,也拥有索引和切片)

列表切片切出来的内容依旧是列表.

2.1索引:

lst=['马化腾','马云','王健林','雷军','刘翔','萧敬腾']
print(lst[0]) lst=['马化腾','马云','王健林','雷军','刘翔','萧敬腾']
lst[2]='赖美云'
print(lst)#这里说明列表是可以发生改变的,与字符串不同,字符串每次操作 都会返回一个新的字符串
2.2切片
 lst=['马化腾','马云','王健林','雷军','刘翔','萧敬腾']
print(lst[0:4]) lst=['马化腾','马云','王健林','雷军','刘翔','萧敬腾']
print(lst[-1:-4:-2]) #倒着,带步长,跳着也可以取

二.列表的增删改查

1.增加

1.1append 追加

 lst=['马化腾','马云','王健林','雷军','刘翔','萧敬腾']
print(lst)
lst.append('张杰')
print(lst)
#########运行结果
['马化腾', '马云', '王健林', '雷军', '刘翔', '萧敬腾']
['马化腾', '马云', '王健林', '雷军', '刘翔', '萧敬腾', '张杰'] #在原列表的末尾加入新的东西.

1.2 insert(index, 元素) 在index位置添加元素

 lst = ['马化腾', '马云', '王健林', '雷军', '刘翔', '萧敬腾']
lst.insert(1,'刘德华') #在1位置插入刘德华,原来在一后面的元素就会向后移动一位
print(lst)
1.3 extend() 迭代添加
 lst = ['马化腾', '马云', '王健林', '雷军', '刘翔', '萧敬腾']
lst.extend('大张伟') #把输入的字符串一个一个迭代添加到列表的最后
print(lst)
#['马化腾', '马云', '王健林', '雷军', '刘翔', '萧敬腾', '大', '张', '伟']
lst.extend(['霍元甲']) #把字符串整个添加到列表的最后
print(lst)
#['马化腾', '马云', '王健林', '雷军', '刘翔', '萧敬腾', '大', '张', '伟', '霍元甲']
lst.extend(['朱元璋','李白']) #把多个字符串添加到列表的最后
print(lst)
#['马化腾', '马云', '王健林', '雷军', '刘翔', '萧敬腾', '大', '张', '伟', '霍元甲', '朱元璋', '李白']

2.删除

2.1pop(index)按照位置删除元素
 lst = ['马化腾', '马云', '王健林', '雷军', '刘翔', '萧敬腾']
lst.pop(2) #删除2号元素,括号里什么也不写,默认删除最后一个
print(lst)
# ['马化腾', '马云', '王健林', '雷军', '刘翔']
2.2remove(元素)直接删除元素
 lst = ['马化腾', '马云', '王健林', '雷军', '刘翔', '萧敬腾']
lst.remove("马云") #删除知道元素具体内容的指定元素
print(lst)
#['马化腾', '王健林', '雷军', '刘翔', '萧敬腾']
lst.remove("哈哈") #删除不存在的元素会报错
print(lst)
# ValueError: list.remove(x): x not in list报错内容
2.3del切片
 lst = ['马化腾', '马云', '王健林', '雷军', '刘翔', '萧敬腾']
del lst[1:3] #与前两个删除不同的是格式上要 del+空格+列表
print(lst)
# ['马化腾', '雷军', '刘翔', '萧敬腾']
2.4clear()清空列表
 lst = ['马化腾', '马云', '王健林', '雷军', '刘翔', '萧敬腾']
lst.clear()
print(lst)
# []

3.修改

3.1索引修改

 lst = ['马化腾', '马云', '王健林', '雷军', '刘翔', '萧敬腾']
lst[1]='丘比特' #把指定元素修改成指定内容
print(lst)
# ['马化腾', '丘比特', '王健林', '雷军', '刘翔', '萧敬腾']
3.2切片修改
lst = ['马化腾', '马云', '王健林', '雷军', '刘翔', '萧敬腾']
lst[1:4:3]=['杨幂','迪丽热巴'] #如果补偿不是一,要注意元素的个数
print(lst)
# ValueError: attempt to assign sequence of size 2 to extended slice of size 1
lst = ['马化腾', '马云', '王健林', '雷军', '刘翔', '萧敬腾']
lst[1:4]=['杨幂','迪丽热巴'] #如果步长是一,就不用关心元素的个数
print(lst)
#['马化腾', '杨幂', '迪丽热巴', '刘翔', '萧敬腾']

4.查询

列表是一个可迭代对象,所以可以进行for循环,分别输出列表中的每一个元素.

for el(元素) in lst:  

  print(el)

5.其他操作

5.1次数(count)

lst = ['马化腾', '马云', '王健林', '雷军', '刘翔', '萧敬腾'] num=lst.count('马云') #查询马云出现的个数 print(num) #

5.2排序(sort)
lst = [1,2,3,9,4,5,6,8]
lst.sort() #排序,默认升序
print(lst)
#[1, 2, 3, 4, 5, 6, 8, 9] lst = [1,2,3,9,4,5,6,8]
lst.sort(reverse=True) #降序
print(lst)
#[9, 8, 6, 5, 4, 3, 2, 1]
5.3反转(reverse)
 lst = ['马化腾', '马云', '王健林', '雷军', '刘翔', '萧敬腾']
lst.reverse() #反转
print(lst)
#['萧敬腾', '刘翔', '雷军', '王健林', '马云', '马化腾']
5.4长度(len)
 lst = ['马化腾', '马云', '王健林', '雷军', '刘翔', '萧敬腾']
lst.reverse() #反转
print(lst)
#['萧敬腾', '刘翔', '雷军', '王健林', '马云', '马化腾']

三.列表的嵌套

采用降维的操作,一层一层的看lst=[1,'hua',5,'会有鬼',[1,5,'发过火',54,[5,5,6,'fgh','法国红酒']]]

 print(lst[3])    #找到会有鬼
print(lst[2:4]) #找到5和会有鬼
print(lst[3][2]) #找到会有鬼的鬼字
s=lst[1] #拿到hua,将首字母大写,再扔回去
s=s.capitalize() #
lst[1]=s #
print(lst) # lst=[1,'hua',5,'会有鬼',[1,5,'发过火',54,[5,5,6,'fgh','法国红酒']]] #把发过火改成发过水
lst[4][2]=lst[4][2].replace('火','水') #要定位到发过火,不要定位到火,才能改
print(lst)
#[1, 'hua', 5, '会有鬼', [1, 5, '发过火', 54, [5, 5, 6, 'fgh', '法国红酒'], '雪碧']]

四.元组和元组嵌套

俗称不可变的列表,又被称为只读列表,元组也是python的只读列表之一用()括起来,里面可以放任何数据类型的数据,但是不能改.

 tu=(1,'太白','李白','太黑','怎么黑')
print(tu)
print(tu[0])
print(tu[1])
print(tu[1:4])
4.1for循环便利元组
for el in tu:
  print(el)

五.range

range可以帮我获取到一组数据通过for循环打印这组数据

 for i in range(0,101,2):
print(i)

python中的基本数据类型之列表,元组的更多相关文章

  1. Python中的基本数据类型之列表与元组初步了解

    一.什么是列表 1.列表是Python中的基本数据类型之一用[]来表示,每一项元素由逗号隔开,列表什么都能装,(能装对象的对象) 2.可以用来存放大量数据 3.是一个可以改变的数据类型 二.列表的索引 ...

  2. Python之路-基础数据类型之列表 元组

    列表的定义 列表是Python基础数据类型之一,它是以[ ]括起来, 每个元素用' , '隔开而且可以存放各种数据类型: lst = [1,2,'你好','num'] 列表的索引和切片 与字符串类似, ...

  3. python中不可变数据类型和可变数据类型

    在学习python过程中我们一定会遇到不可变数据类型和可变数据类型. 1.名词解释 以下所有的内容都是基于内存地址来说的. 不可变数据类型: 当该数据类型的对应变量的值发生了改变,那么它对应的内存地址 ...

  4. Python中常见的数据类型总结

    Python提供多种数据类型来存放数据项集合,主要包括序列(列表list和元组tuple),映射(如字典dict),集合(set),下面对这几种一一介绍: 一 序列 1.列表list 列表是一种有序的 ...

  5. python中的特殊数据类型

    一.python中的特殊数据类型 对于python,一切事物都是对象,对象基于类创建.像是“wangming”,38,[11,12,22]均可以视为对象,并且是根据不同的类生成的对象. 参照:http ...

  6. 1. Python中的基本数据类型、运算、变量

    本文利用的是Python 3.x版本,建议学习3.x版本 Python中的基本数据类型.运算.变量 1. 基本数据类型 1.1 整数 py可以处理任意大小的整数,例如123,1234567891324 ...

  7. python中的常用数据类型

    python中的常用数据类型 以下是个人总结的python中常见的数据类型,话不多说,我们直接步入正题: 数字类型 整型类:int类可以表示任意大小的整数值,在python中没有像JAVA或者C那样的 ...

  8. 在Python中使用lambda高效操作列表的教程

    在Python中使用lambda高效操作列表的教程 这篇文章主要介绍了在Python中使用lambda高效操作列表的教程,结合了包括map.filter.reduce.sorted等函数,需要的朋友可 ...

  9. python中的字典(dict),列表(list),元组(tuple)

    一,List:列表 python内置的一种数据类型是列表:list.list是一种有序的数据集合,可以随意的添加和删除其中的数据.比如列出班里所有的同学的名字,列出所有工厂员工的工号等都是可以用到列表 ...

随机推荐

  1. NET媒体文件操作组件TagLib

    开源的.NET媒体文件操作组件TagLib#解析   人生得意须尽欢 莫使金樽空对月.写博客都会在吃饭后,每次吃饭都要喝上二两小酒,写博客前都要闲扯,这些都是个人爱好,改不掉了,看不惯的人,还望多多包 ...

  2. 全文检索(elasticsearch入门)

    Elasticsearch篇: Elasticsearch是一个采用java语言开发的,基于Lucene构造的开源,分布式的搜索引擎. 设计用于云计算中,能够达到实时搜索,稳定可靠. Elastics ...

  3. 《node.js开发指南》第五章与新版Node变化太大的一些问题

    1.在win下,命令行工具express -h无效,因为4.x版本的express需要安装express-generator才可以使用express命令,npm install -g express- ...

  4. 【29.82%】【codeforces 703D】Mishka and Interesting sum

    [题解] 题意: 给n个数字组成有序数列; 给m个询问. 对于每个询问区间.输出这个区间里面出现次数为偶数次的所有数的异或值; 做法: 我们可以先求出这段区间里面所有(包括重复的数字)数字的异或值p1 ...

  5. Android——Intent详解

    Intent组件虽然不是四大组件,但却是连接四大组件的桥梁,学习好这个知识,也非常的重要. 一.什么是Intent 1.Intent的概念: Android中提供了Intent机制来协助应用间的交互与 ...

  6. jQuery立即调用表达式

    http://www.imooc.com/code/3247 立即调用表达式 任何库与框架设计的第一个要点就是解决命名空间与变量污染的问题.jQuery就是利用了JavaScript函数作用域的特性, ...

  7. TCP协议是如何保证可靠传输的【经典】

    参考:http://blog.csdn.net/cmm0401/article/details/77878998 从特点上我们已经知道,TCP 是可靠的但传输速度慢 ,UDP 是不可靠的但传输速度快. ...

  8. OpenCV调试利器——Image Watch插件的安装和使用

    各大编译工具在调试的时候都可以实时查看变量的值,了解变量值的变动情况,在图像处理相关的程序调试中,是否也可以实时查看内存中图像变量的图形信息以及图像上指定区域或点位的数值变化情况呢? 在工业机器视觉领 ...

  9. 卷积神经网络(CNN)的理解与总结

    卷积神经网络模型的历史演化: 0. 核心思想 two main ideas: use only local features 在不同位置上使用同样的特征: 池化层的涵义在于,更高的层次能捕捉图像中更大 ...

  10. 线程池;java的线程池的实现原理;适用于频繁互动(如电商网站)

    线程池是一种多线程处理形式,处理过程中将任务加入到队列,然后在创建线程后自己主动启动这些任务.线程池线程都是后台线程.每一个线程都使用默认的堆栈大小,以默认的优先级执行.并处于多线程单元中. 假设某个 ...