Python 列表、元素、字典

简介: Python 列表、元素、字典

一、创建「列表」和「元组」

语法格式:

1、创建列表,使用方括号,可以包含多个元素。

[ele1, ele2, ele3, …]

2、 创建元组,使用小括号,可以包含多个元素。

(ele1, ele2, ele3, …)

案例代码:

# 创建列表
mylist = ['Python', 13.14, 520]
# 创建元组
mytuple = ('Java', 22, 33)

二、列表和元组的通用用法

2.1 通过索引使用元素

列表和元组的元素的索引值,是从 0 开始的

如果是倒数,索引值则从 -1 开始

案例代码:

# 创建元组
mytuple = ('Java', 'Python', 13.14, 520, 666, 888)
# 问题1:访问第一个元素
result = mytuple[0]
print(result)
# 问题2:访问倒数第二个元素
result2 = mytuple[-2]
print(result2)

2.2 列表和元组的切片 —— 子序列

列表和元组,可以使用索引值,获取其中一段数据。

语法格式:

[start : end : step]
start:起始位置
end:终止位置
step:间隔值,步长

案例代码:

# 创建元组
mytuple = ('Java', 'Python', 13.14, 520, 666, 888)
# 问题1:访问第一个元素到第四个元素(不包含)的所有元素
result = mytuple[0:3]
print(result)
# 问题2:访问倒数第四个元素到倒数第一个元素(不包含)的所有元素
result2 = mytuple[-4:-1]
print(result2)
# 再创建元组
mytuple2 = (1, 2, 3, 4, 5, 6, 7, 8, 9)
# 问题3:访问第二个元素到第九个元素(不包含),间隔为二的所有元素
result3 = mytuple2[1:8:2]
print(result3)
# 问题3:访问第三个元素到倒数第二个元素(不包含),间隔为二的所有元素
result4 = mytuple2[2:-2:2]
print(result4)

2.3 加法和乘法

列表和元组的「加法」

指的是,两个列表或元组所包含的元素的总和,也就是「汇总」

⚠️ 注意:

1)不能混合使用

2)元组只能跟元组相加;列表只能跟列表相加

案例代码:

# 1、创建元组
mytuple1 = ('Python', 13.14, 520)
mytuple2 = (22, 33, 66, 88)
# 2、元组相加
result = mytuple1 + mytuple2
print(result)
# 3、创建列表
mylist1 = ['Java', 1, 2, 3]
mylist2 = [4, 5, 6]
# 4、列表相加
result2 = mylist1 + mylist2
print(result2)
# 5、混合会报错
err = mytuple1 + mylist1
print(err)

列表和元组的「乘法」

把它们所包含的元素,重复 N 遍。

案例代码:

# 1、创建元组
mytuple = (22, 33)
# 2、元组乘法
print(mytuple * 3)
# 3、创建列表
mylist = [66, 88]
# 4、列表乘法
print(mylist * 4)

2.4 in 运算符

用来判断,指定元素,是否在列表或元组中。

案例代码:

# 1、创建元组
mytuple = ('Python', 13.14, 520)
# 2、包含此元素,返回 True
print('Python' in mytuple)
# 3、不包含此元素,返回 False
print('Java' in mytuple)

2.5 获取列表或元组的长度、最大值、最小值

如何获取元组或列表的「长度、最大值、最小值」?

Python 内置函数:
len() 长度
max() 最大值
min() 最小值

⚠️ 使用 max() 和 min() 时

保证元组、列表的元素,必须是类型相同的,且可以比较大小的

可以是「数值」之间的比较,也可以是「字符串」之间的比较

字符串的比较,是比较它们的 ASCII 码值

26 个大写字母的 ASCII 码为 65~90

26 个小写字母的 ASCII 码为 97~122

案例代码:

# 1、创建元组 和 列表
# mytuple = ('Python', 13.14, 520)
# mytuple2 = (22, 33, 14, -50, 520, 66)
mylist = ['Python', 'Hello', 'nice', 'happy']
# 2、获取最大值
print(max(mylist))
# 3、获取最小值
print(min(mylist))
# 4、获取长度
print(len(mylist))

2.6 序列封包和序列解包

序列封包

Sequence Packing,当把多个值只赋给一个变量时,Python 会自动将多个值封装成【元组】

序列解包

Sequence Unpacking,我们可以将列表或者元素,直接赋值给多个变量

⚠️ 注意,列表或元组的元素个数,要和变量个数一致

序列封包和解包的「高级内容」:

Python 允许给变量添加"*"号,代表一个列表,保存多个集合元素。

案例代码:

# 序列封包
abc = 10, 20, 30
print(abc)
print(type(abc))
# 序列解包
mytuple = tuple(range(1, 20, 2))
a, b, c, d, e = mytuple
print(a, b, c, d, e)
# 案例 1
# first 保存第一个元素
# second 保存第二个元素
# rest 保存剩余的其他元素
first, second, *rest = range(1, 20, 2)
print(first)
print(second)
print(rest)
# 案例 2
# first 保存第一个元素
# middle 保存中间的所有元素
# last 保存最后一个元素
first, *middle, last = range(1, 20, 2)
print(first)
print(middle)
print(last)

三、使用列表

3.1 创建列表

使用 list() 函数,创建列表。

list() 函数可以创建列表,还可以将元组、区间等对象转换成列表

案例代码:

# 1、创建元组
mytuple = ('Python', 13.14, 520)
mylist = list(mytuple)
print(mylist)
# 2、创建区间
myrange = range(1, 10)
mylist2 = list(myrange)
print(mylist2)

3.2 增加元素

增加列表元素

append():会把传入的参数,追加到列表的【最后面】;

extend():只会追加列表中的元素

insert():可以将元素插入列表的指定位置

案例代码:

# 创建列表
mylist = [1, 2, 3]
# 添加 Python 字符串
# mylist.append('Python')
# 创建元组
mytuple = (4, 5)
# 将元组添加到列表中
# mylist.append(mytuple)
# 将元组中的元素,添加到列表中
# mylist.extend(mytuple)
# 将元组添加到列表中的指定位置
mylist.insert(1, mytuple)
# 创建区间
myrange = range(7,15)
# 将区间添加到列表中
# mylist.append(myrange)
# 将区间中的元素,添加到列表中
# mylist.extend(myrange)
# 将元组添加到列表中的指定位置
mylist.insert(2, myrange)
print(mylist)

3.3 删除元素

删除列表的元素

第一种方式:del 语句;

第二种方式:remove() 并不是根据索引值来删除,它直接删除元素本身;

第三种方式:clear() 清空列表中的所有元素,比较凶残,使用的时候需要特别小心;

案例代码:

# 此处需要用到 3.2 的代码
# del mylist[2]
# del mylist[1:3]
# 删除第三个到倒数第二个,间隔为 2 的所有元素
# del mylist[2:-2:2]
# 删除元素本身
# mylist.remove(myrange)
# 大杀器:clear() 清空
mylist.clear()
print(mylist)

3.4 修改元素

修改列表的元素

列表和元组中的所有元素,其实相当于变量

你可以指定新的值,去覆盖掉原来的值

案例代码:

# 创建列表
mylist = ['Python', 13.14, 520]
# 修改列表的第一个元素
mylist[0] = 'Java'
print(mylist)
# 如果想要修改其中某段数据的话,则可以通过分片的方式来操作

3.5 其他方法

列表的其他用法:

count():用于统计列表中某个元素出现的【次数】;

index():用于判断某个元素在列表中出现的【位置】;

pop():用于将列表当成【栈】使用,实现元素出栈的功能;

reverse():用于将列表中的元素反转存放;

sort():用于对列表元素排序;

四、使用字典

4.1 创建字典

字典,就是一个键值对,key-value

就好像是做核酸,大白问你
name:xxx
age:xxx
code:green / red / yellow

创建字典:

使用 { } 来包含键值对,就可以创建字典

如果有多个键值对,需要用逗号隔开

案例代码:

# 创建字典
# 第一种方式
people1 = {'name' : 'zhangsan', 'age' : 88, 'code' : 'green'}
people2 = {'name' : 'lisi', 'age' : 58, 'code' : 'green'}
people3 = {'name' : 'laowang', 'age' : 78, 'code' : 'red'}
people4 = {'name' : 'laoli', 'age' : 68, 'code' : 'yellow'}
people5 = {'name' : 'cuihua', 'age' : 18, 'code' : 'green'}
# 买菜
# 第二种方式
vegetables = [('celery', 3.6), ('brocoli', 5.2), ('lettuce', 4.0)]
# 第三种方式
vegetables2 = [['celery', 3.6], ['brocoli', 5.2], ['lettuce', 4.0]]
# 使用 dict() 创建字典
#dict = dict(vegetables2)
# 第四种方式
dict = dict(celery = 3.6, brocoli = 5.2)
print(dict)

4.2 字典的基本用法

字典的常用方法:

  1. 通过 key 访问 value
  2. 通过 key 添加 key-value
  3. 通过 key 删除 key-value
  4. 通过 key 修改 key-value
  5. 通过 key 判断指定 key-value 是否存在

案例代码:

scores = {'语文' : 78}
# print(scores['语文'])
scores['数学'] = 60
# del scores['语文']
scores['语文'] = 55
print(scores)
print('英语' in scores)

4.3 字典的常用用法

clear():对一个字典执行该方法之后,就会被清空

get():根据 key 来获取 value

update():更新已有的字典数据

items()、keys()、values():获取字典中所有的 key-value 对,所有 key,所有的 value

4.4 使用字典格式化字符串

案例代码:

# 定义字符串模版
temple = '图书名:%(name)s,价格是:%(price)010.2f,出版社是:%(publish)s'
# 创建图书
book = {'name':'西游记', 'price':2, 'publish':'电子工业'}
book2 = {'name':'葵花宝典', 'price':1.8976536, 'publish':'武林'}
# 匹配数据
print(temple % book2)


目录
相关文章
|
29天前
|
存储 开发者 Python
Python中的collections模块与UserDict:用户自定义字典详解
【4月更文挑战第2天】在Python中,`collections.UserDict`是用于创建自定义字典行为的基类,它提供了一个可扩展的接口。通过继承`UserDict`,可以轻松添加或修改字典功能,如在`__init__`和`__setitem__`等方法中插入自定义逻辑。使用`UserDict`有助于保持代码可读性和可维护性,而不是直接继承内置的`dict`。例如,可以创建一个`LoggingDict`类,在设置键值对时记录操作。这样,开发者可以根据具体需求定制字典行为,同时保持对字典内部管理的抽象。
|
2月前
|
索引 Python 存储
Python 04 之变量【列表,元组,集合,字典,字符串】
Python 04 之变量【列表,元组,集合,字典,字符串】
54 0
Python 04 之变量【列表,元组,集合,字典,字符串】
|
4天前
|
存储 JSON 数据处理
|
6天前
|
JSON 数据可视化 定位技术
python_将包含汉字的字典数据写入json(将datav的全省数据中的贵州区域数据取出来)
python_将包含汉字的字典数据写入json(将datav的全省数据中的贵州区域数据取出来)
13 0
|
6天前
|
API Python
[AIGC] Python列表([])和字典({})常用API介绍
[AIGC] Python列表([])和字典({})常用API介绍
|
7天前
|
机器学习/深度学习 存储 数据挖掘
Python从入门到精通——学习基础语法和数据类型 1.2.1变量、整数、浮点数、字符串、布尔值、列表、元组、字典和集合。
Python从入门到精通——学习基础语法和数据类型 1.2.1变量、整数、浮点数、字符串、布尔值、列表、元组、字典和集合。
|
8天前
|
JSON 数据格式 索引
python 又一个点运算符操作的字典库:Munch
python 又一个点运算符操作的字典库:Munch
24 0
|
8天前
|
JSON 数据处理 数据格式
python 一个点运算符操作的字典库:DottedDict
python 一个点运算符操作的字典库:DottedDict
8 0
|
20天前
|
安全 Python
python字典的内置方法
Python字典主要方法包括:`keys()`(返回所有键)、`values()`(返回所有值)、`items()`(返回所有键值对)、`get()`(安全取值,键不存在时返回默认值)、`setdefault()`(设置默认值)、`update()`(合并字典)、`pop()`(删除并返回值)、`clear()`(清空字典)、`copy()`(浅拷贝)、`fromkeys()`(新建字典并设置默认值)、`popitem()`(随机删除键值对)。
9 0
|
25天前
|
存储 Python
python基础篇:图解Python字典,一目了然的键值对数据结构!
【4月更文挑战第6天】python基础篇:图解Python字典,一目了然的键值对数据结构!
28 2
python基础篇:图解Python字典,一目了然的键值对数据结构!