python中的列表和元组实例详解
作者:落落呀 发布时间:2023-07-26 23:04:12
标签:python,列表,元组
python中的列表和元组
# 1.列表的格式
# [数据1,数据2,数据3,···]
# 列表 可变数据类型
# 列表可以存储多个数据,数据之间的逗号以英文逗号分隔
# 列表可以存储不同类型数据,但一般存储同一数据类型,这样便于操作
# list_name = [] # 定义了一个空的列表
# 定义了一个有数据的列表
# 可以去索引和切片
print('1.列表的格式')
list_name = ['小明', '小刚', '小芳']
print(list_name[0]) # 小明
print(list_name[0][0]) # 小
print(list_name[1:]) # ['小刚', '小芳']
# 2.列表的常规操作
print()
print('2.列表的常规操作')
list_data = []
# append 追加(在容器的最后添加一个数据)
print('append()')
list_data.append('小明')
# 因为列表是可变数据类型,
# 所以不需要使用一个新的列表进行接收
print(list_data)
# pop() popup缩写 意思是弹出
# 根据索引从列表中删除一个数据
# 会返回弹出的数据
# 默认删除最后一个 相当于pop(-1)
# 删除指定的索引位置 pop(索引)
print()
print('pop()')
list_data = [1, 2, 3, 4, 5, 6, 7]
list_data.pop() # 默认删除最后一个数局
print(list_data)
data = list_data.pop(0) # 删除第一个数据
print(list_data)
print(data) # 打印弹出的数据
# sort(key,reverse是否倒置,默认False) 对数据进行排序
# 字符串排序是通过ASCII码
print()
print('sort()')
list_data = [2, 3, 1, 5, 8, 7]
list_data.sort() # 默认进行从小到大的排序
print(list_data)
list_data.sort(reverse=True) # 启动倒置,从大到小排序
print(list_data)
# reverse() 倒置列表
# sort(reverse=True) 是先排序再倒置
# reverse() 是直接倒置
print()
print('reverse()')
list_data = [1, 3, 2]
list_data.reverse()
print(list_data)
# count() 统计里面的某一相同数据有多少个
# 某一个数据出现的次数
# 这是一个获取东西的函数
# 不会修改原列表
print()
print('count()')
list_data = [1, 3, 2, 1, 1, 2]
print(list_data.count(1)) # 1出现的次数为3
# index() 查找索引 找到则返回索引,没找到则报错
# 如果要查找的数据有多个,则返回最近的数据的索引
# 字符串中查找有find和index
# 列表查找只有index
print()
print('index()')
list_data = [1, 3, 2, 1, 1, 2]
data = list_data.index(3) # 1
print(data)
# data = list_data.index(4) # 4没在列表,会报错
# extend(可迭代对象) 补充 延伸 扩大
# 把可迭代对象里面的数据一个一个的追加到列表中
print()
print('extend()')
list_data1 = [1, 2, 3]
list_data2 = [3, 4, 5]
print(list_data1+list_data2)
list_data1.extend(list_data2)
print(list_data1)
# 这两行+和extend的结果输出相同
# 但是要知道+只能连接两个相同类型的数据
list_data3 = '小明'
# print(list_data1+list_data3) # +连接不同类型会报错
list_data1.extend(list_data3) # 字符串数据会被一个一个拆开放入
print(list_data1) # [1, 2, 3, 3, 4, 5, '小', '明']
# remove(数据) 删除某一个数据
# pop()根据索引删除
# remove()根据数据删除
print()
print('remove()')
list_data = [1, 2, 3, 2, '小明']
list_data.remove(2) # 只能删掉第一个2
print(list_data)
list_data.remove('小明')
print(list_data)
# list_data.remove(6) # 6不在列表中,会报错
# remove(数据) 删除某一个数据
# pop()根据索引删除
# remove()根据数据删除
print()
print('remove()')
list_data = [1, 2, 3, 2, '小明']
list_data.remove(2) # 只能删掉第一个2
print(list_data)
list_data.remove('小明')
print(list_data)
# list_data.remove(6) # 6不在列表中,会报错
# clear() 清空列表中的数据
print()
print('clear()')
list_data = [1, 2, 3]
list_data.clear() # 删除列表中的全部数据
print(list_data)
# copy() 复制 深复制 浅复制
print()
print('copy()')
# 深复制 完全复制()
# 两个变量所指向的存储位置是同一个
list1 = [1, 2, 3]
list2 = list1
list2.pop() # 删除list2的3
print(list2)
print(list1) # 但是list1的3也没有了
# 浅复制 copy() 只复制表面数据
list1 = [1, 2, 3]
list2 = list1.copy()
list2.pop()
print(list2)
print(list1)
# 3.浅说公共方法
print()
print('3.浅说公共方法')
# len() 获取容器里面的长度
print('len')
print(len('12345')) # 5
print(len([1, 2, 4])) # 3
# del 删除变量
print()
print('del')
list1 = [1, 2, 3]
del list1[0] # del(list1[0])
print(list1)
# 橙色的是关键字参数 紫色的是函数
# 系统函数可以作为变量名称使用,
# 但是作为变量名称使用后,将没有原函数的功能
# 4.遍历列表
print()
print('4.遍历列表')
list_data = ['a', 'b', 'c']
for i in list_data:
print(i)
# 5.列表的嵌套使用
print()
print('5.列表的嵌套使用')
list1 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
list2 = [1, 2, [1, 2, [1, 2]]] # 多层嵌套
print(list1[1][1]) # 取到list1的5
# 6.元组 tuple
# 是小括号()
# 是不可变数据类型
# 不能删除,修改,和增加
print()
print('6.元组')
tuple_data = (1, 2, 3, 4)
print(type(tuple_data))
# 单个数据的元组
tuple_data = (66,) # 单个数据的元组,需要在后面加逗号
print(type(tuple_data))
tuple_data0 = (66) # 如果没有逗号,则数据类型为没有括号时的数据类型
print(type(tuple_data0))
# 今日作业
'''
1,办公室里有张三,李四,王五3个人,
现在小宋也到班公室来上班了,
如何用列表来表示?并输出办公室有哪些人;
2,过了一会,王五有事离开了办公室,
程序应该如何表达?并输出办公室有哪些人
'''
print()
print('今日作业')
list_people = ['张三', '李四', '王五'] # 创建列表存储这三个人
list_people.append('小宋') # 小宋来上班
# list_people.insert(3, '小宋')
print(list_people)
list_people.remove('王五') # 王五离开
# list_people.pop(2) # 根据索引删除
print(list_people)
来源:https://www.cnblogs.com/qc2012/archive/2022/11/23/16920394.html
0
投稿
猜你喜欢
- 之前写了一个ajax上传工具。但是只是客户端的工具是我写的,服务器端的那个程序,我是修改了一个网上流传的无组件上传类。因为当时我还不懂什么a
- 有个简单的方法,使用display:table, display:table-row and display:table-cell 就可以实
- 本文实例讲述了基于JS实现html中placeholder属性提示文字效果。分享给大家供大家参考,具体如下:如何通过js实现html的pla
- 首先选择操作系统。由于ASP属于MS(Microsoft)的东西,所以我们要选择MS的操作系统,Windows 98以上就可以(
- 而Easp类中提供了大量实用的ASP通用过程及方法,可以简化大部分的ASP操作。目前只提供了VBScript版,JScript版将来可能会提
- 这个主要应用于,获取用户输入的时候,防止用户不小心,多输入了一个空格,导致验证无法通过,多用于用户名跟密码的,好多情况下,大家复制的winr
- 本文实例讲述了python实现数值积分的Simpson方法。分享给大家供大家参考。具体如下:#coding = utf-8#simpson
- 阅读:Mootools常用方法扩展(三) 继续Mootools常用方法扩展,这次是Window类上的扩展,也就是全局函数。方法:$param
- 环境: 开发的IDE:JBuilderX 使用的数据库:MS Sql Server 2000 使用的数据库驱动:JSQL Driver(JD
- 搭建lnmp完lnmp环境后,测试时出现502报错,看到这个问题,我立刻想到是php-fpm没有起来,但是我用 ps -ef | grep
- 每次查询分析器寻找路径时,并不会每一次都去统计索引中包含的行数,值的范围等,而是根据一定条件创建和更新这些信息后保存到数据库中,这也就是所谓
- php中可以把函数名通过字符串的方式传递给一个变量,然后通过此变量动态调用函数下面是一个简单的动态函数调用范例<html><
- <form action="calscore.asp?action=do" met
- 程序只要在运行,就免不了会出现错误,错误很常见,比如Error,Notice,Warning等等。在PHP中,主要有以下3种错误类型。1.注
- part 1最近在学习go自带的rpc,看完了一遍想着自己实现一个codec,也就是自定义消息的序列化和反序列化。消息的序列化和反序列化涉及
- 前言为了满足用户渠道推广分析和用户账号绑定等场景的需要,公众平台提供了生成带参数二维码的接口。使用该接口可以获得多个带不同场景值的二维码,用
- Eloquent: 关联模型简介数据库中的表经常性的关联其它的表。比如,一个博客文章可以有很多的评论,或者一个订单会关联一个用户。Eloqu
- 其实这个东西没什么技术含量,就是给大家提供一个给表格加滚动条的思路。运行代码框<html><head><tit
- 今天在项目中向数据库的CLOB属性插入一段篇文章(1000~2000)字就会报一个字符串过长的错误。网上说用流来处理,没有这么做。这像是一个
- MySQL支持大量的列类型,它可以被分为3类:数字类型、日期和时间类型以及字符串(字符)类型。本节首先给出可用类型的一个概述,并且总结每个列