一,元组

1.元组的创建(可以把元组看作一个容器,任何数据类型都可以放在里面)
通过赋值方法创建元组
In [5]: t = ("hello",2.3,2,True,{1:"hello",2:"world"},)

In [6]: type(t)
Out[6]: tuple

In [7]: t = (1)

In [8]: type(t)
Out[8]: int

In [9]: t = (1,) #定义单个元组,一定要在这个元组后面加","

In [10]: type(t)
Out[10]: tuple

  • 通过工厂方法创建元组
In [15]: t = tuple("hello")

In [16]: type(t)
Out[16]: tuple

2.元组的操作

索引
In [17]: t = ("hello",2.3,2,True,{1:"hello",2:"world"},)

In [18]: print t[0] #正向索引
hello

In [19]: print t[-1] #反向索引
{1: 'hello', 2: 'world'}

In [20]: print t[4][1] #取索引值为4的字典中key为1的value

hello
---------------------

切片
In [24]: t = ("hello",2.3,2,True,{1:"hello",2:"world"},)

In [25]: print t[2:4] #只取索引为2,3的元素
(2, True)

In [26]: print t[::-1] #逆转元组的元素
({1: 'hello', 2: 'world'}, True, 2, 2.3, 'hello')
---------------------

连接
In [33]: t = (1,1.2,True,"hello")

In [34]: t1 = ((True,"hello",1),1+2j)

In [35]: print t1+t
((True, 'hello', 1), (1+2j), 1, 1.2, True, 'hello')

  • 重复
In [39]: t = (1,1.2,True,"hello")  

In [40]: print t*2       #自己指定重复次数
(1, 1.2, True, 'hello', 1, 1.2, True, 'hello')
  • 成员操作符(这里常用于一些判断语句)
In [41]: t = (1,1.2,True,"hello")

In [42]: "hello" in t
Out[42]: True In [43]: "hello" not in t
Out[43]: False

3.元组的常用方法

count()
括号里是元组的value,返回这个value出现的次数,若是该value不在这个元组内,则返回0
In [60]: t = (1,2,3,4,4,"hello")

In [61]: t.count(4) #统计4出现的次数
Out[61]: 2

In [62]: t.count(6)
Out[62]: 0
---------------------

4.元组可用的内置方法

  • cmp() 
    两个元组间第一个元素ASCII码的比较,左边大于右边的元组,返回1,左边小于右边的元组,则返回-1,若是左右两边元组相等,则返回0
In [83]: cmp(("a",12),(1,2))
Out[83]: 1
  • max() 
    同上,但返回的是值大的元组
In [85]: max(("hello",2),(3,4))
Out[85]: ('hello', 2)
  • min() 
    同上,但返回的是值小的元组
In [86]: min(("hello",2),(3,4))
Out[86]: (3, 4)
  • 枚举的使用

    采用元组套元组的方式,存储成绩信息:

scores = (
("Math",90),
("English",91),
("Chinese",93.1)
)

利用枚举和for循环输出信息

print "科目编号\t科目名称\t\t成绩"
for index,value in enumerate(scores):
print "%3d\t\t%s\t\t%.2f" %(index,value[0],value[1])

结果

科目编   科目名称     成绩
0 Math 90.00
1 English 91.00
2 Chinese 93.10

zip()
令元组a的元素和元组b的元素一一对应,若是两个元组的元数个数不等,则以元素少的元组为标准,一一匹配完为止
In [99]: subjects = ("chinese","math","english")

In [100]: scores = (93.1,90)

In [101]: print zip(subjects,scores)
[('chinese', 93.1), ('math', 90)]
---------------------

二,列表(list)

列表是打了激素的数组,因为数组只能存储同一种数据类型的结构,而列表可以存储是可以存储多种数据类型的结构
1.定义列表
In [103]: li = [(1,2,3),"hello", [True,"world",666],1.2]

In [104]: print li
[(1, 2, 3), 'hello', [True, 'world', 666], 1.2]

In [105]: type(li)
Out[105]: list
---------------------

2.列表的操作(和元组比较)

  • 索引(类似于元组,不赘述)
In [111]: li = [(1,2,3),"hello", [True,"world",666],1.2]

In [112]: print li[2][0]
True


列表是可变数据类型,可以修改元素

In [106]: li = [(1,2,3),"hello", [True,"world",666],1.2]

In [107]: li[0] = 1 #令列表索引值为0的元素变为1

In [108]: li #列表被修改
Out[109]: [1, 'hello', [True, 'world', 666], 1.2]
---------------------


元组是不可变数据类型,不可以修改元素


In [110]: t =(0,1)

In [111]: t[0] = 1  #报错,如下图

  • 切片(类似于元组,不赘述)

  • 连接(类似于元组,不赘述)

  • 重复(类似于元组,不赘述)

  • 成员操作符(类似于元组,不赘述)

列表的增删改查


append()追加元素到列表的最后


# ip 白名单
allow_ip = ["172.25.254.1","172.25.254.3", "172.25.254.26" ]
allow_ip.append("172.25.254.250")
print allow_ip


执行效果:
['172.25.254.1', '172.25.254.3', '172.25.254.26', '172.25.254.250']
---------------------


insert()增加元素到列表的指定位置


allow_ip = ["172.25.254.1","172.25.254.3", "172.25.254.26" ]
allow_ip.insert(0, "192.168.1.253")


执行效果:
['192.168.1.253', '172.25.254.1', '172.25.254.3', '172.25.254.2
6', '172.25.254.250']
---------------------


extend()增加多个元素到列表最后


# ip 白名单
allow_ip = ["172.25.254.1","172.25.254.3", "172.25.254.26" ]
allow_ip.extend(["172.25.254.45", "172.25.56.21"])


执行效果:
['192.168.1.253', '172.25.254.1', '172.25.254.3', '172.25.254.2
6', '172.25.254.250', '172.25.254.45', '172.25.56.21']
---------------------


1.删除列表中遇到的第一个 value 值,如果该value值不存在,则报错
#语法格式:li.remove(value)

li = [1,2,45,6,8,0,1]
li.remove(1)
print li

执行效果:
[2, 45, 6, 8, 0, 1]

2.删除列表中第 i 个索引值;
#语法格式: del li[index]

li = [1,2,45,6,8,0,1]
del li[5]
print li

执行效果:
[1, 2, 45, 6, 8, 1]

test:删除除了第一个元素之外的其他索引值
li = [1,2,45,6,8,0,1]
del li[1::]
print li

执行效果:
[1]
3.根据索引删除一个元素,并返回该元素,如果括号内没有值,默认删除最后一个元素,若是超过范围的index,则报错
#语法格式:li.pop(index)

li = [1,2,45,6,8,0,1]
li.pop(1)
print li

运行效果:
[1, 45, 6, 8, 0, 1]

4.删除列表对象
li = [1,2,45,6,8,0,1]
del li
---------------------



1.统计某个元素在列表中出现的次数
li = [1,2,45,6,8,0,1]
print li.count(1)


运行效果:
2


2.找到某个值在列表中的索引值
li = [1,2,45,6,8,0,1]
print li.index(1,1) #value值为1,该值范围的起始索引为1


运行效果:
6
---------------------

# 通过列表的索引,对列表某个索引值重新赋值
li = [1,2,45,6,8,0,1]
li[1] = True
print li 运行效果:
[1, True, 45, 6, 8, 0, 1]


sort() — 排序
若都是数字,按照数字大小排序 ;若是字母的话,按照 ASCII 码来排序;
ps:查看对应的 ASCII 码 ? ord(‘a’)
li = [1,2,45,6,8,0,1]
li.sort()
print li

运行效果:
[0, 1, 1, 2, 6, 8, 45]
---------------------


  • reverse()—逆转 
    我们实现逆转除了前面讲的切片方式,也可以使用改方法

li = [1,2,45,6,8,0,1]
li.reverse()
print li 运行效果:
[1, 0, 8, 6, 45, 2, 1]
 
https://blog.csdn.net/zxy15771771622/article/details/79004224

python基础:元组(tuple)列表(list)介绍的更多相关文章

  1. python基础——元组(tuple)

    Python的元组与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号,列表使用方括号. 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可. tuple1 = () tuple2 = ...

  2. Python基础-元组、列表、字典

    元组tuple 元组被称为只读列表,即数据可以被查询,但不能被修改,所以,字符串的切片操作同样适用于元组.例:(1,2,3)("a","b","c&q ...

  3. python基础-元组(tuple)及内置方法

    元组-tuple 用途:用于存储多个不同类型的值,但是不能存储可变类型数据 定义方法:用小括号存储数据,数据与数据之间通过逗号分隔,元组中的值不能改变. 注意: 1.定义元组时,如果里面只有一个值,在 ...

  4. 『Python基础-8』列表

    『Python基础-8』列表 1. 列表的基本概念 列表让你能够在一个地方存储成组的信息,其中可以只包含几个 元素,也可以包含数百万个元素. 列表由一系列按特定顺序排列的元素组成.你可以创建包含字母表 ...

  5. 4、Python 基础类型 -- Tuple 元祖类型

    Python 元组 Python的元组与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号,列表使用方括号. 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可. 如下实例: 实例(P ...

  6. .Net程序员之Python基础教程学习----列表和元组 [First Day]

    一. 通用序列操作: 其实对于列表,元组 都属于序列化数据,可以通过下表来访问的.下面就来看看序列的基本操作吧. 1.1 索引: 序列中的所有元素的下标是从0开始递增的. 如果索引的长度的是N,那么所 ...

  7. python基础之02列表/元组/字典/set集合

    python中内置的数据类型有列表(list)元组(tuple)字典(directory). 1 list list是一种可变的有序的集合.来看一个list实例: #第一种方法: >>&g ...

  8. python 基础篇 04(列表 元组 常规操作)

    本节主要内容:1. 列表2. 列表的增删改查3. 列表的嵌套4. 元组和元组嵌套5. range 一. 列表1.1 列表的介绍列表是python的基础数据类型之一 ,其他编程语言也有类似的数据类型. ...

  9. Python - 基础数据类型 tuple 元组

    元组简单介绍 元组是一个和列表和相似的数据类型,也是一个有序序列 两者拥有着基本相同的特性,但是也有很多不同的地方 声明元组 var = (1, 2, 3) var = ("1", ...

  10. python 基础学习3 列表和元组 、字符串

    作为小白,坚持每日写学习记录,是督促坚持学习的动力, 今天主要是学习 列表和元组,列表是可以修改的,元组是不可变的.列表和元组的索引都是从0开始 列表可以修改, 可以对列表进行赋值,修改移除等各种方法 ...

随机推荐

  1. odoo开发教程五:高级视图

    树视图 tree视图表现出来是列表视图,列表中一行一纪录.可以根据每行纪录的某字段值不同而把每行以不同样式显示. decoration-{样式}="条件" 样式主要有: bf(fo ...

  2. 在 Linux 上给用户赋予指定目录的读写权限

    在 Linux 上指定目录的读写权限赋予用户,有两种方法可以实现这个目标:第一种是使用 ACL (访问控制列表),第二种是创建用户组来管理文件权限,下面会一一介绍.为了完成这个教程,我们将使用以下设置 ...

  3. 六大云端 Jupyter Notebook 平台测评

    有许多方法可以与其他人共享静态 Jupyter 笔记本,例如把它发布在 GitHub 上或通过 nbviewer 链接进行分享. 但是,如果接收人已经安装了 Jupyter Notebook 环境,那 ...

  4. docker镜像的原理

    docker镜像的原理 docker镜像是由特殊的文件系统叠加而成 最低端是bootfs,并使用宿主机的bootfs 第二层是root文件系统rootfs,称之为base image 再往上是可叠加的 ...

  5. rust cargo build一直出现 Blocking waiting for file lock on package cache

    如果确定没有多个程序占用,可以删除rm -rf ~/.cargo/.package-cache,然后再执行

  6. oracle常用函数(持续更新)

    1.table() 把返回结果集合的函数返回的结果,以表的形式返回 例:table(p_split('1,2,3'),',') 2.to_char() 按照指定格式输出字符串 to_char(sysd ...

  7. 使用Git进行版本控制和协作:代码共享、协作和版本管理

    目录 引言 Git 是一款开源的分布式版本控制系统,它已经成为了现代软件开发中必不可少的工具之一.在这篇文章中,我们将介绍如何使用 Git 进行版本控制和协作,以实现代码共享.协作和版本管理.Git ...

  8. GO web学习(一)

    跟着b站https://space.bilibili.com/361469957 杨旭老师学习做的笔记 开启web服务 •http.ListenAndServer() •第一个参数是网络地址 如果为& ...

  9. Hexo博客Next主题添加粒子时钟特效

    博客应用canvas粒子时钟的操作步骤: 在\themes\next\layout\_custom\目录下,新建clock.swig文件,内容如下: <div style="" ...

  10. MIT 6.5840 Raft Implementation(2A, Leader Election)

    Raft实现思路+细节 2A 任务分解 总体来说,2A中主要的任务就是选出领导人,在选出领导人的时候,我们要遵循下图. 在2A中,由于并没有出现日志复制,所以我们只需要考察两者的任期是否相等,以及接收 ...