python3之listAndTuple
来源:互联网 发布:linux vi退不出来 编辑:程序博客网 时间:2024/05/22 00:40
#关于列表与元组
#列表 list有序、可增加、可删除、可直接镶嵌list、元素数据类型也可以不相同
# 1.0 定义 list列表
classmates = ['Michael','Bod','Tracy'] #注意 list列表是用中括号定义的
print(classmates)#['Michael','Bod','Tracy']
L = ['Apple',123, True]
print(L)#['Apple', 123, True]
s = ['python','java', ['asp','php'], 'scheme']
print(s)#['python', 'java', ['asp', 'php'], 'scheme']
p = ['str','chr', L, 'double']
print(p)#['str', 'chr', ['Apple', 123, True], 'double']
# 1.1 List的长度与取值
classmatesLen = len(classmates)#可以利用 len()函数直接得到 list的长度即 list的元素个数
print(classmatesLen)#3
pLen = len(p)#此时 p的 len并非6因为 L是作为一个元素而存在的所以应该是4;p列表就是一个二维列表
print(pLen)#4
classmatesZero = classmates[0]#可以通过下标进行取出相应的元素
print(classmatesZero)# 'Michael'
classmatesThree = classmates[3]#当所取下标大于 list的 len时,会报数组越界错
print(classmatesThree)#Traceback (most recent call last):
#File "<stdin>", line 1, in <module>
#IndexError: list index out of range
classmatesMinusOne = classmates[-1]#负数就是倒着数 list的元素,同理超出-len(list)也会报数组越界的错
print(classmatesMinusOne)#'Tracy'
#1.2 添加
classmatesAppend = classmates.append('Adam')#添加到 list末尾一个元素小括号单引号
print(classmatesAppend)#['Michael','Bod','Tracy','Adam']
classmatesInsert = classmates.insert(0,'Jack') #想指定位置添加指定元素
print(classmatesInsert)#['Jack','Michael',Bod','Tracy','Adam']
classmatesInsertMax = classmates.insert(6,'John')#当指定的下标大于列表的最大下标时会将该指定元素直接添加到列表的最后一个位置
print(classmatesInsertMax)#['Jack','Michael',Bod','Tracy','Adam','John']
classmatesInsertLittle = classmates.insert(-10,'Dives')#当指定的下标小于最小-(len(list))时会将指定的元素直接添加到最前的位置
print(classmatesInsertLittle)#['Dives','Jack','Michael',Bod','Tracy','Adam','John']
# 1.3 删除与替换
classmatesPop = classmates.pop()#直接调用 pop()函数删除的事 list最后一个元素
print(classmatesPop)#['Dives','Jack','Michael',Bod','Tracy','Adam']
classmatesPopOne = classmates.pop(1)#删除相应位置的元素
print(classmatesPopOne)#['Dives','Michael',Bod','Tracy','Adam']
classmatesPopError = classmates.pop(10)#当所要删除的下标不属于 -len(list)至 len(list)之间时,会报数组越界的错
classmates[1] ='Sarch' #利用下标直接进行替换相应位置的元素
print(classmates)#['Dives','Sarch',Bod','Tracy','Adam']
classmates[10] ='Hello' #同样所替换的下标不属于 -len(list)至 len(list)之间时,会报数组越界的错
#tuple元组一旦初始化就不可修改、可以是不同类型的元素
#2.0 定义 tuple元组
classTuple = ('Michael','Bob', 'Tracy')#tuple 元组定义用的是小括号 ()
t = (1,)#当定义的 tuple只有一个元素时,必须在元素后面加上 ","目的是为了与 t=1代码区分
#2.1 伪可变的 tuple元组
classFakeTuple = ('a','b',['A','B'])
classFakeTuple[2][0] ='x'
classFakeTuple[2][1] ='y'
print(classFakeTuple)#('a', 'b', ['X', 'Y'])
#此时得到的 tuple元素看似变了,其实并没有改变改变的元素是 list['A','B']
#tuple所谓的“不变”是说,tuple的每个元素,指向永远不变即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!
#总结:
# 1.0 list和tuple是Python内置的有序集合,一个可变,一个不可变。根据需要来选择使用它们。
# 2.0不可变的tuple有什么意义?因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。
- python3之listAndTuple
- Linux之安装python3.*
- python3入门之字符串
- python3入门之字典
- python3之循环
- python3入门之函数
- Python3 之logging
- python3爬虫之旅
- Python3之re模块
- Python3 之 urllib
- python3.4之决策树
- Python3教程之《安装》
- python3爬虫之UserAgent
- python3学习之string
- python3学习之list
- python3学习之tuple
- python3学习之dict
- python3学习之set
- PCIe学习笔记(21)--- 中断(2)---MSI
- 运行时异常与非运行时异常的区别
- C++按引用传递参数的问题
- 用logstash导入ES且自定义mapping时踩的坑
- LibreOffice,一个集美貌与才华于一身的软件
- python3之listAndTuple
- 【python】python--helloworld
- codeforces 831 A
- C语言小函数——atol(自己实现)
- AngularJs ui select 禁止search
- 最长上升子序列1003
- 四种生成和解析XML文档的方法详解(介绍+优缺点比较+示例)
- python3 之if 判断
- 如何通过位移来置位