python(列表、元组、字典)详解

本文详细介绍了Python中的列表、元组和字典的基础操作,包括定义、遍历、成员检查、操作方法如in、max、min、sum,以及列表的切片、复制、列表解析等。同时,对比了列表和元组的区别,展示了字典的创建、访问、修改和遍历方式,以及字典中存储列表的示例。此外,还涉及到了循环结构如while和for循环的使用。
摘要由CSDN通过智能技术生成

什么是列表?

  • 列表就是队列
  • 是各种数据类型的集合,也是一种数据结构!
  • 列表是一种有序的,且内容可重复的集合类型

列表的定义

  • 在python中,list代表着列表这种类型,也可以用它定义一个列表
  • 列表的元素存在于一个[]
  • 列表是一个无限制长度的数据结构

in、max、min、sum在列表中的使用

member=[1,2,3,4,5]
print(1 in member)
print(max(member))
print(min(member))
print(sum(members))
输出结果:
True
5
1
15

max和min在列表中使用的时候,列表中的元素不能是多种类型,如果类型不同意,则会报错!

操作列表

利用for循环,遍历整个列表。使用单数和复数式名称,可帮助判断代码段处理的是单个列表元素还是整个列表

member = ['A','B','C','D']
for member in member:
    print(member)
输出结果:
A
B
C
D

可进行更多操作

member = ['A','B','C','D']
for member in member:
    print(member.lower() + "hello")
输出结果:
ahello
bhello
chello
dhello

在python中,for循环没有花括号,区分是否为for循环的语句就是通过缩进来区分。在for循环下没有缩进的只执行一次。

members = ['A','B','C','D']
for member in members:
    print(member.title())
    print(member.lower() + "hello")
print("!!!")
输出结果:
A
ahello
B
bhello
C
chello
D
dhello
hello!!!

使用函数range()能够轻松地生成一系列的数字

for member in range(1,6):
    print(member)
输出结果:
1
2
3
4
5

使用range()函数和list()函数创建数字列表,将range() 作为list() 的参数,输出将为一个数字列表。

member = list(range(1,6))
print(member)
输出结果:
[1, 2, 3, 4, 5]

使用 range()函数还可以指定步长

numbers = list(range(2,11,2))
print(numbers)#输出2到11间的偶数
numbers = list(range(1,11,2))
print(numbers)#输出1到10之间的奇数
输出结果:
[2, 4, 6, 8, 10]
[1, 3, 5, 7, 9]

实现创建一个列表,其中包含前10个整数(即1~10)的平方

members=[]
for value in range(1,11):
    members.append(value**2)
print(members)
输出结果:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

列表解析 将for 循环和创建新元素的代码合并成一行,并自动 附加新元素。

members = [value**2 for value in range(1,11)]
print(members)
输出结果:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

切片(可以处理列表的部分元素)

创建切片,可指定要使用的第一个元素和最后一个元素的索引。与函数range() 一样。

member = ["A","B","C","D"]
print(member[0:2])
输出结果:['A', 'B']

没有指定第一个索引,将从列表首个元素开始输出
没有指定第二个索引,将输出至列表末尾元素

member = ["A","B","C","D"]
print(member[:2])
print(member[1:])
输出结果:
['A', 'B']
['B', 'C', 'D']

复制列表

要复制列表,可创建一个包含整个列表的切片,方法是同时省略起始索引和终止索引([:] )

member1 = ["A","B","C","D"]
member2 = member1[:]
print(member1)
print(member2)
输出结果:
['A', 'B', 'C', 'D']
['A', 'B', 'C', 'D']

判断两个列表中是否存在相同的部分

message_ = ["A","B","C","D"]
message = ["A","B"]
for value in message_:
    if value in message:
        print("yes")
    else:
        print("no")
print("over!")


输出结果:
yes
yes
no
no
over!

if-elif-else结构

age = 20
if age < 4:
    print("a")
elif age < 18:
    print("b")
elif age <27:
    print("c")
else:
    print("d")
输出结果:c

列表中元素之间的移动

pop:默认删除列表末尾元素
append:将元素添加到列表末尾

number = ['a','b','c','d']
confirm_number = []

while number:
    middle_number = number.pop()
    confirm_number.append(middle_number)
for confirm_number in confirm_number:
    print(confirm_number.title())
输出结果:
D
C
B
A

初识元组

  • 元组与列表一样,都是一种可以存储多种数据结构的队列
  • 元组也是一个有序的,且元素可以重复的集合

元组定义

  • 在python中,tuple代表着元组这种类型,也可以用它定义一个元组
  • 在python中,元组中的元素存在于一个()小括号中
  • 元组也是一个无限制长度的数据结构

列表与元组的区别

  • 元组比列表占用资源更小
  • 列表是可变的,元组是不可变的
member=(1,123,3)
print(type(member))
print(123 in member)
print(max(member))
print(min(member))
输出结果“
<class 'tuple'>
True
123
1

初识字典

字典是由多个键(key)及其对应的值(value)所组成的一种数据类型

字典的结构与创建方法

  • 在python中,dict用来代表字典,并且可以创建一个字典
  • 在python中,通过{}将一个个key与value存入字典中

键与值之间用:分隔,键值对之间用逗号分隔

person={"name": "zhangsan", "age": 13}
print(person)
输出结果:{'name': 'zhangsan', 'age': 13}

访问字典中的值

person={"name": "zhangsan", "age": 13}
print(person["name"])
输出结果:zhangsan

添加键值对

member={"name":"zhangsan"}
member['数学'] = 90
member['语文'] = 80
print(member)
输出结果:{'name': 'zhangsan', '数学': 90, '语文': 80}

删除键值对

使用del 语句可以将相应的键—值对彻底删除,使用del 语句时,必须指定字典名和要删除的键。

member={"name":"zhangsan","sex":"男","age":12,}
print(member)
del member["age"]
print(member)
输出结果:
{'name': 'zhangsan', 'sex': '男', 'age': 12}
{'name': 'zhangsan', 'sex': '男'}

修改字典中的值:

member={"name":"zhangsan","age":12}
member['name'] = "wangwu"
print(member)
输出结果:{'name': 'wangwu', 'age': 12}


字典的遍历

1、items()方法将字典里对应的一对键和值以元组的形式(键, 值),存储为所生成序列里的单个元素
2、keys()方法将字典里的每个键以字符串的形式,存储为所生成序列里的单个元素
3、values()方法将字典里的每个值以字符串的形式,存储为所生成序列里的单个元素

遍历整个字典:

members={"name":"zhangsan","sex":"男","age":"12",}
print(members)
for key,value in members.items():
#items() 函数以列表返回可遍历的(键, 值) 元组数组。
    print("key: " + key)
    print("valu " + value + "\n")
输出结果:
key: name
valu zhangsan

key: sex
valu 男

key: age
valu 12

遍历字典中的所有键

members={"name":"zhangsan","sex":"男","age":"12",}
print(members)
for key in members.keys():
    print("key: " + key)
输出结果:
key: name
key: sex
key: age

遍历字典中的所有值

members={"name":"zhangsan","sex":"男","age":"12",}
for value in members.values():
    print("value " + value + "\n")
输出结果:
value zhangsan

value 男

value 12

在字典中储存列表

每当需要在字典中将一个键关联到多个值时,都可以在字典中嵌套一个列表。

school = {
    "teacher":"王老师",
    "subject":['数学','语文','班主任']
}
for subject in school["subject"]:
    print(subject)
    
输出结果:
数学
语文
班主任

字典支持的数据类型

  • key支持字符串,数字,元组类型,但列表是不支持的
  • value支持所有python的数据类型

字典中的每一个key是唯一的

循环

while循环中使用continue

number = 0
while number<10:
    number+=1
    if number%2==0:
        continue

    print(number)
输出结果:
1
3
5
7
9

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值