首页 > 编程语言 >初识python--python的列表与元组

初识python--python的列表与元组

时间:2023-09-09 16:33:36浏览次数:38  
标签:tuple1 python 元素 list1 列表 -- print 元组

python中的列表与元组

一、列表的定义与访问

1、为什么需要列表

列表是数据容器中的一种,允许我们在列表容器中同时保存多个数据元素

如:保存一个学生的名字,可以name = 'Tom'但是如果要保存100位学生的名字呢

2、列表的定义与访问

# names = [元素1,元素2,元素3]  其中的元素可以是任一数据类型
names = ['张三', '李四', '王五']

# 列表的访问
print(names)

# 列表中的元素索引下标默认从0开始
print(names[0], names[1])

3、列表中的遍历访问

for i in names:
    print(i)

i = 0
while i < len(names):
    print(names[i])
    i += 1

二、列表的增、删、改、查

1、查询

len() : 返回数据容器的长度
in方法:判断元素是否在数据容器中
'''
列表名称[索引下标]
len(列表名称):求列表长度(列表中元素的个数),配合while循环实现列表遍历
if 元素 in 数据容器:判断元素是否在数据容器中,返回类型为bool类型
in方法:可以在字符串、列表、元组中使用
'''

# 黑名单
black_ip = ['192.168.23.53', '172.32.89.13', '148.23.78.54']
if '192.168.23.53' in black_ip:
    print('您的IP地址已被锁定,禁止访问!')
else:
    print('您的IP地址正常,可以访问!')

2、增加

append() : 在列表尾部添加元素
+ 加号   : 可以将两个列表合并
list1 = ['刘备', '孙权', '曹操']
list1.append('诸葛亮')
print(list1)

list2 = ['孙策', '孙尚香']
print(list1 + list2)

1694143809697

3、删除

remove() : 根据元素值删除元素
list1 = [10, 20, 30, 40]
list1.remove(20)
print(list1)

1694157845097

4、修改

修改方法:列表名称[索引] = 修改后的值
list1 = ['孙权', '孙策', '刘备']
list1[2] = '孙坚'
print(list1)

1694158552929

三、列表的翻转与排序操作

reverse(): 列表的翻转操作,相当于切片中的[::-1]
sort(reverse = False) : 将列表中的元素从小到大排序,也可以修改参数reverse = True使其降序排序
'''
针对列表中的元素全为数字的:sort() 默认参数为reverse = Flase 升序排序
将sort()中的参数改为 reverse = True 即为降序排序
reverse():列表的翻转操作,相当于切片中的[::-1]
'''

list1 = [7, 8, 4, 6, 9, 3, 5]
list2 = ['刘备', '关羽', '张飞']

list2.reverse()
print(list2)  # reverse()翻转
print(list2[::-1])  # 使用切片[::-1]再次翻转

list1.sort()  # sort() 默认参数为reverse = 'False'
print(list1)

list1.sort(reverse=True)  # 降序排序
print(list1)

1694160511685

四、列表的嵌套

列表的嵌套:即在列表中又出现了列表结构

基本语法:

列表名称 = [[], [], []]
# students = [一班, 二班, 三班]

students = [['Tom', 'Jack', 'Harry'], ['小明', '小鹿', '小蓝'], ['刘备', '关羽', '张飞']]

# 访问原则:先访问外层,再访问内层
print(students[1][1])  # 小鹿

列表与随机数实现点名系统案例

# 点名系统
import random

students = ['刘谦', '莫航', '小七', '马梓']
randnum = random.randint(0, len(students) - 1)
print(students[randnum])

五、元组的定义与访问

1、为什么需要元组

思考:想要多个数据,但是这些数据不能修改,该怎么做?

列表可以一次性存储多个数据,但是列表中的数据允许被修改

使用元组,元组可以存储多个数据且元组内的数据不允许被修改

2、元组的定义

元组的特点:元组使用小括号,且用逗号隔开各个数据,数据可以是不同的数据类型

基本语法:(定义单个数据元组不能省略逗号)

多个数据元组:
tuple1 = (10, 20, 30)

单个数据元组:(逗号不能省略)
tuple2 = (10,)
tuple1 = (10, 20, 30, 40)

# 可以通过while循环或for循环遍历元组
for i in tuple1:
    print(i)

# 也可以通过索引下标输出元组
print(tuple1[1])

3、元组的应用场景

① 函数的参数以及返回值都是元组类型

def func(参数1, 参数2, 参数3):

	return返回值1,返回值2,返回值3

② 格式化字符串,百分号和format,格式化字符串后面的()本质上就是一个元组

print('姓名:%s,年龄:%d,家庭住址:%s' %(name,age,address))

③ python操作mysql数据库,返回结果,默认也是元组类型

④ 让列表不可修改,保护数据的安全

六、元组的相关操作方法

由于元组中的数据不允许修改,所以其操作方法大多为查询方法

编号 函数 作用
1 元组[索引] 根据索引下标查找元素
2 len() 统计元组中的个数
3 in 判断元素是否在元组中
tuple1 = (10, 20, 30, 40)
print(tuple1[1])

print(len(tuple1))

if 50 in tuple1:
    print("50这个元素出现在tuple1元组中")
else:
    print("50这个元素没有出现在tuple1元组中")

标签:tuple1,python,元素,list1,列表,--,print,元组
From: https://www.cnblogs.com/luoluoange/p/17689698.html

相关文章

  • gcc安装实战归纳
     安装gcc遇到如下问题:意思就是你的ubuntu版本太高了,但是你要安装的软件版本太低了,所以说嘛!你就得换个强一点的安装器 推荐                 【不推荐使用】aptitude[这玩意儿慎用!可能会导致重装系统]默认的Ubuntu软件源包含了一个软件包组,名称为"build-es......
  • [羊城杯2023RE]WP
    目录ReverseCSGOvm_woEz加密器BlastReverseCSGOGo逆向静态不好看,考虑动调在main_init有IsDebuggerPresent反调试,nop掉看一眼findcrypt插件,识别到base64看看main_mainmain__Cfunc_enc_abi0是加密runtime_memequal是最后的check,base64完是60位说明flag为44位在81行下......
  • 策略路由这样玩!!!
    基于本地的策略路由:1.acl抓取目的地址Acl3000Ruleperipdes4.4.4.402.定义策略路由Policy-based-routexxxx permitno10If-matchacl3000Applyip-addressnext-hop12.1.1.23.引用:Iplocalpolicy-base-routexx4.查看:Displaypolicy-base-routexx 特点:只针对本地始......
  • 初识python--python的选择分支结构
    python选择结构语句一、if选择结构1、ifelse结构在日常业务中,经常需要进行多条件判断,为了这种场景,引入多分支结构age=int(input('请输入你的年龄:'))ifage<18:print(f"年龄{age},未到18岁,不可使用童工!")elifage>=18&age<=60:print('年龄为%d,合法年龄......
  • java开发之个人微信的二次开发
    简要描述:修改好友备注请求URL:http://域名地址/modifyRemark请求方式:POST请求头Headers:Content-Type:application/jsonAuthorization:login接口返回参数:参数名必选类型说明wId是string登录实例标识wcId是string好友微信idremark是string好友备注返回数据:参数名类型说明codestring1000......
  • print r 替换字符串 避坑
    print(r'''Instance=Class_1()str_addr_arg=Instance.dict_configuration['地址3'],str_column='发货属性',list_filter=eval(Instance.dict_configuration['筛选1']),list_column=eval(Instance.dict_configuration['列名1&......
  • C++-类和对象(2)
    今天,我们继续学习类和对象的相关知识,本次学习的内容,主要是this指针和默认构造函数。继上篇文章结尾,我们讲到了,一个类实例化出对象后,它的成员变量和成员函数是如何存储的。类实例化出的对象,会给成员变量开辟空间,而成员函数则放在公共代码段区(这个类共有的空间),不会单独开辟空间。对于......
  • Lua04——基本语法
    1注释单行注释--单行注释多行注释--[[多行注释]]2标识符标识符用于定义变量,作为变量名在程序中使用。以字母及下划线开头,可以包含数字。需要注意的是:不能定义为下划线+大写字母,避免与Lua中的保留字冲突;标识符中不能包含@$%等特殊字符;lua中字母区分大小写3全局变量在默认情......
  • Spring - AOP常见面试题
    Spring-AOP推荐阅读:动态代理(JDKProxy&cjlib)AOP(Aspect-OrientedProgramming:面向切面编程)能够将那些与业务无关,却为业务模块所共同调用的逻辑或责任(例如事务处理、日志管理、权限控制等)封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可拓展性和可维......
  • 关于Flutter的webview无法访问私有SSL证书链接的问题
    优先考虑用 Freessl 技术方案: 问题原因项目部署服务器的Https为私有SSL证书,目前确认不会提供共有SSL证书,导致WebView访问网页空白问题官方设计WebView插件时,为了考虑安全性在访问https链接时,必须要求SSL证书有效,不支持自定义SSL错误的处理解决方式有三种处理方式:使......