首页 > 编程语言 >Python 教程之控制流(4)Python 中的循环技术

Python 教程之控制流(4)Python 中的循环技术

时间:2022-10-04 16:03:31浏览次数:52  
标签:容器 教程 打印 Python 控制流 python 使用 print sorted

Python 在各种顺序容器中通过某些内置函数支持各种循环技术。这些方法主要在竞争性编程中非常有用,在各种需要特定技术的项目中也非常有用,这些项目需要使用循环来维护代码的整体结构。由于不需要声明我们在传统循环方法中声明的额外变量,因此节省了大量时间和内存空间。

它们在哪里使用?

不同的循环技术主要在我们不需要实际操作整个容器的结构和顺序的地方很有用,而只是打印单个使用实例的元素,容器中不会发生就地更改。这也可以在实例中使用以节省时间。

使用 Python 数据结构的不同循环技术是: 

方式 1:使用 enumerate():  enumerate() 用于循环打印索引号以及该特定索引中存在的值的容器。

# 演示 enumerate() 工作的 python 代码

for key, value in enumerate(['The', 'Big', 'Bang', 'Theory']):
print(key, value)

输出:

0 The
1 Big
2 Bang
3
# 演示 enumerate() 工作的 python 代码

for key, value in enumerate(['Geeks', 'for', 'Geeks',
'is', 'the', 'Best',
'Coding', 'Platform']):
print(value, end=' ')

输出:

Geeks for Geeks is

方式 2:使用 zip():  zip() 用于组合 2 个相似的容器(list-list 或 dict-dict)按顺序打印值。循环只存在到较小的容器结束。可以在​​此处​​找到 zip() 和 enumerate() 的详细说明。

例子

# 演示 zip() 工作的 python 代码

# 初始化列表
questions = ['name', 'colour', 'shape']
answers = ['apple', 'red', 'a circle']

# 使用 zip() 组合两个容器并打印值
for question, answer in zip(questions, answers):
print('What is your {0}? I am {1}.'.format(question, answer))

输出:

What is your name?  I am apple.
What is your color? I am red.
What is your shape? I am a

方式 3:使用 iteritem():   iteritems() 用于遍历字典,顺序打印字典键值对,在 Python 3 版本之前使用。

方式 4:使用 items():  items() 在字典上执行与 iteritems() 类似的任务,但与 iteritems() 相比有一定的缺点。

  • 非常耗时。在大型词典上调用它会消耗大量时间。
  • 它需要大量的内存。有时在字典上调用时会占用双倍的内存。

示例 1:

# 演示 items() 工作的 python 代码

d = {"geeks": "for", "only": "geeks"}

# iteritems() 在 python3 中重命名为 items() 使用 items 打印字典键值对
print("The key value pair using items is : ")
for i, j in d.items():
print(i, j)

输出:

The key value pair using iteritems is :
geeks for

示例 2:

# 演示 items() 工作的 python 代码

king = {'Akbar': 'The Great', 'Chandragupta': 'The Maurya',
'Modi': 'The Changer'}

# 使用项目打印字典键值对
for key, value in king.items():
print(key, value)

输出:

Akbar The Great
Chandragupta The Maurya
Modi The Changer

方式 5:使用 sorted():  sorted() 用于打印容器的排序顺序。它不对容器进行排序, 而只是按 1 个实例的排序顺序打印容器。可以结合使用set() 来删除重复的事件。

示例 1:

# 演示 sorted() 工作的 python 代码

# 初始化列表
lis = [1, 3, 5, 6, 2, 1, 3]

# 使用 sorted() 以排序顺序打印列表
print("The list in sorted order is : ")
for i in sorted(lis):
print(i, end=" ")

print("\r")

# 使用 sorted() 和 set() 以排序顺序打印列表 使用 set() 删除重复项。
print("The list in sorted order (without duplicates) is : ")
for i in sorted(set(lis)):
print(i, end=" ")

输出:

The list in sorted order is :
1 1 2 3 3 5 6
The list in sorted order (without duplicates) is :
1 2 3 5 6

示例 2:

# 演示 sorted() 工作的 python 代码

# 初始化列表
basket = ['guave', 'orange', 'apple', 'pear',
'guava', 'banana', 'grape']

# 使用 sorted() 和 set() 以排序顺序打印列表
for fruit in sorted(set(basket)):
print(fruit)

输出:

apple
banana
grape
guava
guave
orange
pear

方式 6:使用 reversed():  reversed() 用于以相反的顺序打印 容器的值。它不反映对原始列表的任何更改

示例 1:

# 演示 reversed() 工作的 python 代码

# 初始化列表
lis = [1, 3, 5, 6, 2, 1, 3]


# 使用 reversed() 以相反的顺序打印列表
print("The list in reversed order is : ")
for i in reversed(lis):
print(i, end=" ")

输出:

倒序的列表是:
3 1 2 6 5 3 1

示例 2:

# 演示 reversed() 工作的 python 代码

# 使用 reversed() 以相反的顺序打印
for i in reversed(range(1, 10, 3)):
print(i)

输出:

7
4
1
  • 这些技术可以快速使用并减少编码工作。for、while 循环需要改变容器的整个结构。
  • 这些循环技术不需要对容器进行任何结构更改。他们有关键字来表达使用的确切目的。然而,for、while 循环不能做出任何预先预测或猜测,即不容易一眼就理解其目的。
  • 循环技术使代码比使用 for & while 循环更简洁。

标签:容器,教程,打印,Python,控制流,python,使用,print,sorted
From: https://blog.51cto.com/haiyongblog/5731297

相关文章

  • Python 教程之控制流(8)在 Python 中使用带有 For 循环的 Else 条件语句
    在python中使用带有for循环的else条件语句在大多数编程语言(C/C++、Java等)中,else语句的使用受到if条件语句的限制。但是Python也允许我们在for循环中使用else条件......
  • Python 实现Tracert追踪TTL值
    Tracert命令跟踪路由原理是IP路由每经过一个路由节点TTL值会减一,假设TTL值=0时数据包还没有到达目标主机,那么该路由则会回复给目标主机一个数据包不可达,由此我们就可以获取......
  • Python 入门指南第三节 | Python 简介
    3.Python简介下面的例子中,输入和输出分别由大于号和句号提示符(​​>>>​​​和​​...​​)标注:如果想重现这些例子,就要在解释器的提示符后,输入(提示符后面的)那些不包含......
  • VS Code 和 Python:数据科学的天作之合
    当你将排名第一的代码编辑器与排名第一的数据科学编程语言结合使用时,你会得到什么?一方面,你获得了超过6000万次安装VisualStudioCode的Python扩展。这是迄今为止VS......
  • Python 实现Tracert追踪TTL值
    Tracert命令跟踪路由原理是IP路由每经过一个路由节点TTL值会减一,假设TTL值=0时数据包还没有到达目标主机,那么该路由则会回复给目标主机一个数据包不可达,由此我们就可以获......
  • 【Python】第3章-4 查找指定字符
    本题要求编写程序,从给定字符串中查找某指定的字符。输入格式:输入的第一行是一个待查找的字符。第二行是一个以回车结束的非空字符串(不超过80个字符)。输出格式:如果找到,......
  • 关于python函数中带*星号参数-收集参数的使用说明
    在python中,定时函数时,一般就得确定函数的参数的个数当然函数可以没有参数,也可以指定明确的形式参数的个数,那样在调用这个函数时,实参的个数就需要与形参个数一致defPrin......
  • Python 检测PE所启用保护方式
    Python通过pywin32模块调用WindowsAPI接口,实现对特定进程加载模块的枚举输出并检测该PE程序模块所启用的保护方式,此处枚举输出的是当前正在运行进程所加载模块的DLL模块信......
  • Python 检测PE所启用保护方式
    Python通过pywin32模块调用WindowsAPI接口,实现对特定进程加载模块的枚举输出并检测该PE程序模块所启用的保护方式,此处枚举输出的是当前正在运行进程所加载模块的DLL模块信......
  • linux上安装Nginx教程
    可以参看这篇文章,讲的还挺详细的https://mp.weixin.qq.com/s?src=11&timestamp=1664862961&ver=4083&signature=AwBtRAlZqq-6OZhpt54f*9dYKgC1a-ELmTRisXMt8oCDb-it*3mDOtA......