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)


目录
相关文章
|
5天前
|
Python
探索Python中的列表推导式
【10月更文挑战第38天】本文深入探讨了Python中强大而简洁的编程工具——列表推导式。从基础使用到高级技巧,我们将一步步揭示如何利用这个特性来简化代码、提高效率。你将了解到,列表推导式不仅仅是编码的快捷方式,它还能帮助我们以更加Pythonic的方式思考问题。准备好让你的Python代码变得更加优雅和高效了吗?让我们开始吧!
|
20天前
|
Python
SciPy 教程 之 SciPy 模块列表 13
SciPy教程之SciPy模块列表13:单位类型。常量模块包含多种单位,如公制、二进制(字节)、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例代码展示了如何使用`constants`模块获取零摄氏度对应的开尔文值(273.15)和华氏度与摄氏度的转换系数(0.5556)。
17 1
|
18天前
|
Python
SciPy 教程 之 SciPy 模块列表 16
SciPy教程之SciPy模块列表16 - 单位类型。常量模块包含多种单位,如公制、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例代码展示了力学单位的使用,如牛顿、磅力和千克力等。
15 0
|
19天前
|
JavaScript Python
SciPy 教程 之 SciPy 模块列表 15
SciPy 教程之 SciPy 模块列表 15 - 功率单位。常量模块包含多种单位,如公制、质量、时间等。功率单位中,1 瓦特定义为 1 焦耳/秒,表示每秒转换或耗散的能量速率。示例代码展示了如何使用 `constants` 模块获取马力值(745.6998715822701)。
15 0
|
19天前
|
JavaScript Python
SciPy 教程 之 SciPy 模块列表 15
SciPy教程之SciPy模块列表15:单位类型。常量模块包含多种单位,如公制、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。功率单位以瓦特(W)表示,1W=1J/s。示例代码展示了如何使用`constants`模块获取马力(hp)的值,结果为745.6998715822701。
16 0
|
19天前
|
C语言 Python
探索Python中的列表推导式:简洁而强大的工具
【10月更文挑战第24天】在Python编程的世界中,追求代码的简洁性和可读性是永恒的主题。列表推导式(List Comprehensions)作为Python语言的一个特色功能,提供了一种优雅且高效的方法来创建和处理列表。本文将深入探讨列表推导式的使用场景、语法结构以及如何通过它简化日常编程任务。
|
20天前
|
Python
SciPy 教程 之 SciPy 模块列表 13
SciPy 教程之 SciPy 模块列表 13 - 单位类型。常量模块包含多种单位:公制、二进制(字节)、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例:`constants.zero_Celsius` 返回 273.15 开尔文,`constants.degree_Fahrenheit` 返回 0.5555555555555556。
14 0
|
测试技术 Android开发 Python
|
开发框架 测试技术 索引
Python+Appium自动化测试(5)-appium元素定位常用方法(二)
appium继承了selenium框架中webdriver提供的元素定位方法,接下介绍几种常用的方法。
Python+Appium自动化测试(5)-appium元素定位常用方法(二)
|
测试技术 开发工具 Android开发
Python+Appium自动化测试(5)-appium元素定位常用方法(一)
对于Android而言,查找appUI界面元素属性的工具有三种:appium desktop,uiautomatorviewer.bat,weditor。之前已经介绍过了weditor的使用,这里我将通过使用uiautomatorview工具查看元素的属性值,来介绍Android app通过appium进行元素定位常用的几种方法。
Python+Appium自动化测试(5)-appium元素定位常用方法(一)