一.列表

1.列表的介绍:

列表lst = [    ] 是python的基本数据类型之一,其他编程语言也有类似的数据类型,比如JS中的数组,java中的数组等等,它是以[]括起来,每个元素用逗号隔开,而且可以存放各种数据类型,比如以下示例:

2.索引和切片-------和字符串的索引切片类似.

  注意:列表是可以发生改变的,这点和字符串不一样,字符串不能通过索引去改变值。

3.切片

lst[0:3]   #截取从0-3的元素,但是去不到第3个

lst[ :3]    #从头到第3个元素

lst[1: : 2]  #从第一个开始取到最后一个,步长为2

lst[2: : -1]# 从第二个元素开始取,步长-1,从右向左倒着取.

列表也可以切片,同字符串的切片规则一样,切出来的内容是列表类型,具体如下示例:

(1)列表的增:

append():变量.append()在原有的基础上进行操作,增加到最后

extend() :变量.extend([xx,yy])迭代的增加    (数字和bool不可迭代添加  )

insert():  变量.insert(1,xx)在1的位置插入XX.原来的元素后移动一位

  ①lst.append("A")   #列表结尾加上"A"

  ②lst.insert(1,"刘德华")     #在列表的第一个位置添加"刘德华"

  ③lst.extend(["A","B"])      #迭代添加,将列表里的"A"和"B"分别添加到列表最后.

注意:数字和bool值是不可以用extend添加的,因为他们不是可迭代对象。

(2)列表的删

pop() :   变量.pop(索引)删除指定元素.如果不给索引默认删除最后一个元素

remove():  变量.remove(元素)删除的元素不存在,会报错

clear():  变量.clear()清空列表

del(): del 变量[起始:结尾]  切片删除

 ①lst.pop()     #默认删除最后一个元素

lst.pop(2)   #删除指定位置的元素

例如:   el  =  lst.pop(2)    #有返回值,el为删除的那个元素.

print(el)   # 原来列表第2位的元素

      print(lst)  #输出删除2号位之后的列表

  ②lst.remove("麻花藤")    #删除指定的元素, 如果元素存在,执行删除.     如果元素不存在,程序则会报错!!

  ③lst.clear()        #将整个列表清空,最终列表成为一个空列表.

  ④del lst[1:3]       #将原列表中1-3的元素去掉

注意:pop没有参数默认删除最后一个元素。

(3)列表的改(通过索引修改)

变量[索引]=xxx    把X修改成XX

变量[起始:结尾:步长]   切片修改,如果步长不是1,要注意元素的个数,如果没有步长或步长是1,不用关元素的个数

列表通过切片修改可理解为先删除再迭代添加。

注意:当切片修改时,若步长不是1,则要注意元素个数是否匹配,不匹配会报错。

(4)列表的查

for 元素 in 变量:   列表是可迭代的对象,所以可以进行for循环

变量[索引]    可以朝着具体某个元素

for el in lst:

  print(el)

(5)列表的其他操作

count():  变量.count(xx)统计XX元素在列表中出现的次数

sort():    变量.sort()对列表进行排序,默认升序.  reverse=True 降序

reverse() :  变量.reverse()将列表中的元素反向存放

index(): 变量.index(元素) 从列表中找出某个值第一个匹配项的索引位置

len()   len(变量)求列表的长度

@列表的嵌套

采用降维操作,一层一层的看就好。示例如下:

二.元祖

元组:俗称不可变的列表,又被称为只读列表,元组也是python的基本数据类型之一,用小括号()括起来,里面可以放任何数据类型的数据,可以查询,也可以循环,也可以切片,但就是不能改。具体示例如下代码:

tu = ("土豆丝","拍黄瓜","鱼香肉丝","红烧肉","小炒肉")

print(tu[0])  #返回索引为0的元素

print(tu[1])

  print(tu[2:5])  #切片之后还是元组类型

尝试修改元组则会报错,如下代码:

tu[1] = "锅包肉"    #报错TypeError: 'tuple' object does not support item assignment

关于不可变,注意:这里元组不可变的意思是子元素不可变,而子元素内部的子元素是可以变的,这取决于子元素是否是可变对象。如下代码示例:

元组中如果只有一个元素,一定要添加一个逗号,否则就不是元组。如:tu = (1,)

空元组用 tu = tuple()表示。

元组也是可迭代对象,所以也可以用for循环遍历元组,代码如下:

for el in tu:

  print(el)

元组也有count(),index(),len()等方法。

五、range

range可以帮我们获取到一组数据,通过for循环能够获取到这些数据。具体示例如下:

Python列表与元组的更多相关文章

  1. Python列表、元组、字典和字符串的常用函数

    Python列表.元组.字典和字符串的常用函数 一.列表方法 1.ls.extend(object) 向列表ls中插入object中的每个元素,object可以是字符串,元组和列表(字符串“abc”中 ...

  2. python列表与元组的用法

    python列表与元组的用法 目录: 列表的用法: 1.增   append   +    extend 2.删  del    remove 3.改   insert 4.查  index 5.反向 ...

  3. (转)python 列表与元组的操作简介

    python 列表与元组的操作简介 原文:https://www.cnblogs.com/QG-whz/p/4782809.html 阅读目录 列表 list函数 列表的基本操作 列表方法 元组 tu ...

  4. Python列表和元组

    Python是没有数组的概念,但是和数组比较相近的概念是列表和元素. 下面两个例子展示列表和元组. # coding=utf-8 # 元组 students = ('小明', '小黄', '小李', ...

  5. 认识Python 列表和元组

    列表用方括号   l=[['xyz',123], 'abc', 3140000000.0, (23+1.3j), 'ddd'] 元组用圆括号   t=(['xyz', 123],'abc', 3140 ...

  6. #9 Python列表和元组

    前言 Python中有6种序列:列表.元组.字符串.Unicode字符串.buffer对象和xrange对象.序列通用操作包括:索引.切片.长度.加.乘.最大值.最小值,遍历和检查成员.虽然Pytho ...

  7. Python: 列表,元组,字典的区别

    Python中有3种内建的数据结构:列表,元组和字典 1.列表 list是处理一组有序项目的数据结构,即可以在一个列表中存储一个序列的项目.列表中项目应该包括在方括号中,这样python就知道是在指明 ...

  8. [python01] python列表,元组对比Erlang的区别总结

    数据结构是通过某种方式组织在一起的数据元素的集合,这些数据元素可以是数字,字符,甚至可以是其他的数据结构. python最基本的数据结构是sequence(序列):6种内建的序列:列表,元组,字符串, ...

  9. python 列表,元组,字符串方法和属性

    python序列包含列表[].元组().字符串三种 -------列表-------------- 一.列表基本内容 1.建立:a=[1,2,3,5],通过[ , ,], >>>b= ...

  10. Python 列表、元组、字典及集合操作详解

    一.列表 列表是Python中最基本的数据结构,是最常用的Python数据类型,列表的数据项不需要具有相同的类型 列表是一种有序的集合,可以随时添加和删除其中的元素 列表的索引从0开始 1.创建列表 ...

随机推荐

  1. HTML5 SVG实现过山车动画

    HTML5 SVG实现过山车动画是一款jQuery特效很酷的HTML5 SVG动画,这款HTML5动画是过山车效果,主要是利用了SVG的path动画来实现的,效果非常酷. http://www.hui ...

  2. BZOJ 1640 [Usaco2007 Nov]Best Cow Line 队列变换:贪心【字典序最小】

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1640 题意: 给你一个长度为n的字符串. 你可以将原串的首字母或尾字母移动到新串的末尾. ...

  3. RQNOJ 329 刘翔!加油!:01背包

    题目链接:https://www.rqnoj.cn/problem/329 题意: 刘翔有n封信,每封信都有自己的欣赏价值value[i].消耗时间time[i].消耗体力h[i].和得到的鼓舞w[i ...

  4. 反向ssh

    参考 https://www.thegeekstuff.com/2013/11/reverse-ssh-tunnel/ https://www.howtoforge.com/reverse-ssh-t ...

  5. PHP中调用接口

    引用:http://zhidao.baidu.com/question/454935450.html&__bd_tkn__=67bd5d3a742a8b244e09a86fb8b824aa95 ...

  6. 书写优雅的shell脚本(八)- 日期格式化

    1. 将日期格式转为时间戳 获取当前时间:currenttime=`date "+%Y-%m-%d %H:%M:%S"` 结果:2015-04-13 11:15:43 将当前时间转 ...

  7. numpy中的tile函数

    tile()函数可以很方便的生成多维数组.它有两个参数,第一个数是原始数组;第二个表示如何来生成,第一个数字表示生成几行,第二个表示每行有多少个原始数组(如果只写一个数字,那么就默认是一行). fro ...

  8. bzoj2309 CTSC2011 字符串重排

    题意: 给定n个字符串S1,S2,S3,...,Sn,把它们排序 设排序结果为Sp1,Sp2,Sp3,...,Spn 现在给定q个任务,每个任务的格式都是"要求在排序结果中Sa恰好在Sb前一 ...

  9. MySQL活动期间订单满600元并且在活动日期之前超过30天没有下过单_20161030

    计算 活动期间订单满600元并且在活动日期之前超过30天没有下过单 首先拿到这个需求,首先需要明确活动日期区间 10.29-10.31,其次要取这个时间段内某天订单额最高的那天及订单额,再次需要判断这 ...

  10. 「HNOI2008」「LuoguP3197」越狱(数论

    题目描述 原题来自:HNOI 2008 监狱有连续编号为 111 到 nnn 的 nnn 个房间,每个房间关押一个犯人.有 mmm 种宗教,每个犯人可能信仰其中一种.如果相邻房间的犯人信仰的宗教相同, ...