Python学习笔记之列表和元组

列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储、修改等操作,以[]标识,中间用逗号隔开

names = ['aa',"bb",'cc'] #names变量用列表来赋值

列表索引以0开头

names = ['aa',"bb",'cc','dd','ee']
print(names[0])#aa
print(names[-1])#ee
print(names[:-1])#['aa', 'bb', 'cc', 'dd']
print(names[:])#['aa', 'bb', 'cc', 'dd', 'ee']
print(names[1:3])#['bb', 'cc']顾头不顾尾
print(names[1::2])#['bb', 'dd']步长为2

append()追加,可以是任意参数,作用是往已有列表中添加元素,如果添加的是列表,就被当成一个元素存在原列表中,只使list长度增加1.

names = ['aa',"bb",'cc','dd','ee']
#names.append('ff')
print(names)#['aa', 'bb', 'cc', 'dd', 'ee', 'ff']
names.append(["d1","d2"])
print(names)#['aa', 'bb', 'cc', 'dd', 'ee', ['d1', 'd2']]

insert()插入 insert(index,obj)列表与方法之间用点号相隔,括号内需要添入的参数分别是索引和要插入的元素

names = ['aa',"bb",'cc','dd','ee']
names.insert(2,"a1")
print(names)#['aa', 'bb', 'a1', 'cc', 'dd', 'ee']

修改

names = ['aa',"bb",'cc','dd','ee']
names[2]="a1"
print(names)#['aa', 'bb', 'a1', 'dd', 'ee']

删除

names = ['aa',"bb",'cc','dd','ee']
方式1 del:
del names[2]
print(names)#['aa', 'bb', 'dd', 'ee']
方式2 remove:
names.remove("cc")
print(names)#['aa', 'bb', 'dd', 'ee']

方式3 pop:
names.pop()
print(names)#['aa', 'bb', 'cc', 'dd']默认是删除最后一个,指定索引就删除对于索引的元素
这里按索引
names.pop(2)
print(names)#['aa', 'bb', 'dd', 'ee']

扩展extend

names = ['aa',"bb",'cc','dd','ee']
aa = [1,2,3]
names.extend(aa)
print(names,aa)#['aa', 'bb', 'cc', 'dd', 'ee', 1, 2, 3] [1, 2, 3]

复制copy

names = ['aa',"bb",'cc','dd','ee']
names2 = names.copy()
print(names2)#['aa', 'bb', 'cc', 'dd', 'ee']
copy()与deepcopy()之间的区分必须要涉及到python对于数据的存储方式。
    首先直接上结论:
    —–我们寻常意义的复制就是深复制,即将被复制对象完全再复制一遍作为独立的新个体单独存在。所以改变原有被复制对象不会对已经复制出来的新对象产生影响。
    —–而浅复制并不会产生一个独立的对象单独存在,他只是将原有的数据块打上一个新标签,所以当其中一个标签被改变的时候,数据块就会发生变化,另一个标签也会随之改变。这就和我们寻常意义上的复制有所不同了。
        对于简单的 object,用 shallow copy 和 deep copy 没区别
        复杂的 object, 如 list 中套着 list 的情况,shallow copy 中的 子list,并未从原 object 真的「独立」出来。也就是说,如果你改变原 object 的子 list 中的一个元素,你的 copy 就会跟着一起变。这跟我们直觉上对「复制」的理解不同。
names = ['abc','def',["baby",22]]
print(names)
names2= names.copy()#跟copy.copy(names)等价
names[2][0] = "BaBy"
print(names)#['abc', 'def', ['BaBy', 22]]
print(names2)#['abc', 'def', ['BaBy', 22]] 这个是浅copy
import copy
names = ['abc','def',["baby",22]]
print(names)
names3 = copy.deepcopy(names)
names[2][0] = "BaBy"
print(names)#['abc', 'def', ['BaBy', 22]]
print(names3)#['abc', 'def', ['baby', 22]]这个是深copy

按照最外层的来修改,也可看成是简单的对象
names = ['abc','def',["baby",22]]
print(names)
names3 = copy.copy(names)
names[2] = ['BaBy', 22]
print(names)#['abc', 'def', ['BaBy', 22]]
print(names3)#['abc', 'def', ['baby', 22]]
 

计数count

names = ['aa',"bb",'cc','dd','aa']
names2 = names.count("aa")
print(names2)#2

清空clear

names = ['aa',"bb",'cc','dd','aa']
names.clear()
print(names)#[]

排序sort、reverse

names = ['1aa',"Cbb",'1cc','dd','aa']
names.sort()
print(names)#['1aa', '1cc', 'Cbb', 'aa', 'dd']按照ASCII码表的顺序来排序
names2 = ['aa',"bb",'cc','dd','ee']
names2.reverse()
print(names2)#['ee', 'dd', 'cc', 'bb', 'aa']

下标index

names = ['aa',"bb",'cc','dd','ee']
print(names.index('bb'))#1
元组

元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能再修改,所以又叫只读列表

names = ('aa',"bb",'aa','dd','ee')
print(names.count("aa"))#2
print(names.index('bb'))#1



转载于:https://www.cnblogs.com/fenny0907/p/7392221.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python学习笔记PDF是一种学习Python编程语言的资料形式,它包含了Python的基本语法、数据类型、流程控制、函数、模块、面向对象编程、异常处理等相关内容。以下是关于Python学习笔记PDF的详细内容说明: 1. 基本语法:Python学习笔记PDF中,首先介绍了Python的基本语法,例如如何定义变量、数据类型的使用(包括整数、浮点数、字符串、列表元组、字典等),以及如何进行算术运算、比较运算和逻辑运算。 2. 流程控制:Python学习笔记PDF中,进一步介绍了流程控制的知识,包括条件判断和循环控制。条件判断主要是通过if语句进行判断执行不同的代码块,而循环控制则通过while循环和for循环来实现重复执行一段代码。 3. 函数:Python学习笔记PDF中,对函数的概念和使用进行了详细的解释。函数是代码的封装和组织方式,通过定义函数可以提高代码的重用性和可读性。学习者将了解到如何定义函数、调用函数、函数参数的传递以及函数返回值的使用。 4. 模块:Python学习笔记PDF中,介绍了Python中的模块和包的概念。模块是一组函数、类或变量的集合,以.py文件的形式存在,可以被其他程序调用和使用。学习者将学习如何导入模块、使用模块中的函数和变量。 5. 面向对象编程:Python学习笔记PDF中,对面向对象编程进行了系统的讲解。面向对象编程是一种以对象为基本单位的编程思想,通过定义类和对象,可以更好地组织和管理代码。学习者将了解如何定义类、创建对象、封装、继承和多态的使用。 6. 异常处理:Python学习笔记PDF中,对异常处理进行了介绍。异常是程序在运行过程中出现的错误,通过捕获和处理异常,可以更好地控制程序的执行流程并提高程序的健壮性。学习者将了解到如何使用try-except语句来捕获和处理异常。 总之,Python学习笔记PDF是一份全面而详细的学习Python编程语言的资料,通过学习该资料,学习者将获得扎实的Python编程基础,并能够运用Python进行简单的程序开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值