15个最近才知道的Python实用操作

15个最近才知道的Python实用操作

在Python中,有很多实用操作可以帮助我们提高效率、简化代码或实现功能。以下是15个我最近才了解到的实用操作。

1. 使用enumerate()同时循环列表元素和索引

有时候我们需要同时循环列表的元素和索引,可以使用 Python 内置函数 enumerate(),如下所示:

lst = ['a', 'b', 'c']
for i, item in enumerate(lst):
    print(i, item)

输出结果为:

0 a
1 b
2 c

这样可以用更简单的方式来实现遍历元素和索引的需求。

2. 使用zip()同时循环多个列表

除了 enumerate() 之外,我们还可以使用 Python 内置函数 zip() 来同时循环多个列表,如下所示:

lst1 = ['a', 'b', 'c']
lst2 = [1, 2, 3]
lst3 = ['x', 'y', 'z']
for item1, item2, item3 in zip(lst1, lst2, lst3):
    print(item1, item2, item3)

输出结果为:

a 1 x
b 2 y
c 3 z

这可以帮助我们更方便地遍历多个列表并进行相应的操作。

3. 使用set()去重列表中的元素

在 Python 中,可以使用内置函数 set() 去重一个列表中的元素,如下所示:

lst = [1, 2, 2, 3, 4, 4, 5]
lst = list(set(lst))
print(lst)

输出结果为:

[1, 2, 3, 4, 5]

这将会移除列表中重复的元素,并返回新的去重后的列表。

4. 使用in和not in关键字来判断某个元素是否在列表中

可以使用 innot in 关键字来判断某个元素是否在列表中,如下所示:

lst = ['a', 'b', 'c']
if 'a' in lst:
    print('a is in the list')
if 'd' not in lst:
    print('d is not in the list')

输出结果为:

a is in the list
d is not in the list

这可以帮助我们更快捷地判断某个元素是否在一个列表中。

5. 使用map()函数快速对列表中的每个元素进行处理

可以使用 map() 函数对列表中的每个元素进行处理,避免一遍又一遍地使用 for 循环来处理。下面的例子中,我们将一个列表中的所有元素转换成大写:

lst = ['a', 'b', 'c']
lst = list(map(str.upper, lst))
print(lst)

输出结果为:

['A', 'B', 'C']

这种方式可以简化代码,并提高代码的可读性。

6. 使用filter()函数过滤列表中的元素

与 map() 函数类似,filter() 函数可以从一个列表中过滤出满足特定条件的元素。下面的例子中,我们从一个列表中过滤出所有的偶数:

lst = [1, 2, 3, 4, 5, 6]
lst = list(filter(lambda x: x % 2 == 0, lst))
print(lst)

输出结果为:

[2, 4, 6]

这样可以帮助我们更快速地过滤出需要的数据。

7. 使用lambda表达式创建匿名函数

在一些场景下,我们需要动态地创建函数,但并不想为其创建一个函数名,此时就可以使用 lambda 表达式来创建一个匿名函数。下面的例子中,我们使用 lambda 表达式来创建一个函数用于计算两个数的和:

add = lambda x, y: x + y
print(add(1, 2))

输出结果为:

3

这种方式可以帮助我们更快速地创建匿名函数。

8. 使用try-except语句来处理异常

在 Python 中,可以使用 try-except 语句来处理可能出现的异常。下面的例子中,我们在除法运算时通过 try-except 语句来处理可能出现的异常:

try:
    x = 1 / 0
except ZeroDivisionError:
    print('division by zero')

输出结果为:

division by zero

这种方式可以帮助我们更好地处理代码中可能出现的异常情况。

9. 使用with语句来管理文件资源

在 Python 中,可以使用 with 语句来管理文件资源,这样可以简化代码并避免忘记关闭文件。下面的例子中,我们使用 with 语句来读取一个文件:

with open('file.txt', 'r') as f:
    contents = f.read()
    print(contents)

这种方式可以帮助我们更好地管理文件资源,并避免在代码中遗漏关闭文件的操作。

10. 使用os模块来访问文件系统和环境变量

Python 中的 os 模块提供了访问文件系统和环境变量的函数,可以帮助我们更方便地操作文件和环境变量。下面的例子中,我们使用 os 模块来获取当前工作目录和环境变量:

import os

cwd = os.getcwd()
path = os.environ['PATH']

print(cwd)
print(path)

这种方式可以帮助我们更好地访问文件系统和环境变量,并进行相应的操作。

11. 使用random模块生成随机数

Python 中的 random 模块提供了生成随机数的函数,可以用于一些需要随机数的场景。下面的例子中,我们使用 random 模块来生成一个范围在 1 到 10 之间的随机数:

import random

x = random.randint(1, 10)
print(x)

这种方式可以帮助我们更方便地生成随机数,以便在需要的时候进行相应处理。

12. 使用datetime模块处理日期和时间

在 Python 中,可以使用 datetime 模块来处理日期和时间,这可以帮助在程序中更方便地处理时间。下面的例子中,我们使用 datetime 模块来获取当前的日期和时间:

import datetime

now = datetime.datetime.now()
print(now)

这种方式可以帮助我们更方便地处理日期和时间,并进行相应的操作。

13. 使用argparse模块处理命令行参数

在 Python 中,可以使用 argparse 模块来处理命令行参数,这可以帮助我们更方便地编写命令行工具。下面的例子中,我们使用 argparse 模块来解析命令行参数:

import argparse

parser = argparse.ArgumentParser(description='Process some integers.')
parser.add_argument('integers', metavar='N', type=int, nargs='+',
                    help='an integer for the accumulator')
parser.add_argument('--sum', dest='accumulate', action='store_const',
                    const=sum, default=max,
                    help='sum the integers (default: find the max)')

args = parser.parse_args()
print(args.accumulate(args.integers))

这种方式可以帮助我们更快速地编写命令行工具,并处理相应的命令行参数。

14. 使用collections模块实现更复杂的数据结构

Python 中的 collections 模块提供了一些实用的数据结构,可以用于实现更复杂的数据结构。下面的例子中,我们使用 collections 模块中的 defaultdict 类型来实现一个基于字母的计数器:

from collections import defaultdict

text = 'the quick brown fox jumps over the lazy dog'
counter = defaultdict(int)
for char in text:
    counter[char] += 1

print(counter)

这种方式可以帮助我们更方便地实现复杂的数据结构,以便在程序中进行相应的操作。

15. 使用pdb模块进行调试

在 Python 中,可以使用 pdb 模块进行调试,以帮助我们更容易地发现代码中的错误。下面的例子中,我们使用 pdb 模块来设置一个断点并进入交互式调试器:

import pdb

def add(a, b):
    res = a + b
    pdb.set_trace()
    return res

add(1, 2)

输出结果为:

> c:\users\thomas\test.py(6)add()
-> return res
(Pdb) a
a = 1
b = 2
(Pdb) res
3

这种方式可以帮助我们更便捷地进行代码调试和错误排查。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:15个最近才知道的Python实用操作 - Python技术站

(0)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • python中的itertools的使用详解

    Python中的itertools的使用详解 Python中的itertools模块提供了许多用于操作迭代器的函数,它们可以被组合用于创建各种复杂的运算和算法。在本篇文章中,将介绍这个强大的工具库的常用函数和用法。 1. itertools.count itertools.count(start=0, step=1) 从 start 开始,以 step 为步…

    python 2023年6月3日
    00
  • 详解Python PIL ImageDraw.Draw.pieslice()

    下面是Python PIL库中ImageDraw.Draw.pieslice()方法的详细攻略: 方法介绍 ImageDraw.Draw.pieslice()方法用于画一个扇形。其语法如下: draw.pieslice(xy, start, end, fill=None, outline=None) 其中,参数含义如下: xy:扇形所在的矩形区域,由坐标 (…

    python-answer 2023年3月25日
    00
  • 10个Python实现的最频繁使用的聚类算法

    10个Python实现的最频繁使用的聚类算法 聚类算法是一种无监督学习算法,它将数据集中对象分成不同的组或簇,使得同一组内的对象相似度较高,同组之间的对象相似度较低。Python中有许多聚类算法的实现,本文将详细讲解10个Python实现最频繁使用的聚类算法的完整攻略,包括算法原理、Python实现过程和示例说明。 1. K-Means算法 K-Means算…

    python 2023年5月13日
    00
  • python subprocess 杀掉全部派生的子进程方法

    好的。首先需要了解一些基本概念: 进程:操作系统中正在运行的程序实例。 子进程:由父进程启动的新进程。 Python中,可以使用subprocess模块创建新的进程,例如: import subprocess process = subprocess.Popen([‘ls’, ‘-l’]) 上述代码启动了一个ls -l命令,返回值为一个Popen对象,该对象…

    python 2023年6月2日
    00
  • Python 命令行非阻塞输入的小例子

    这里是 Python 命令行非阻塞输入的小例子的完整攻略。 什么是命令行的阻塞输入 在命令行下运行 Python 时,我们通常使用 input() 函数从标准输入中读取数据。input() 会阻塞程序的执行,直到用户输入了数据并按下了回车键。 这种阻塞输入的方式有利有弊。它简单易用,不需要复杂的异步编程技巧。但是它会让程序在读取输入等待用户的响应时,不能执行…

    python 2023年6月3日
    00
  • python字符串驻留机制的使用范围知识点详解

    Python字符串驻留机制的使用范围知识点详解 什么是Python字符串驻留机制? Python中的字符串是不可变的对象,即一旦创建就不能更改。但是,为了提高程序的性能,Python引入了字符串驻留机制,即对于相同的字符串字面值,在内存中只保留一份副本,从而节省内存空间和比较字符串的时间。 当我们使用字面值方式创建字符串时,如果创建的字符串与先前创建的字符串…

    python 2023年6月5日
    00
  • Python 格式化输出字符串的方法(输出字符串+数字的几种方法)

    当我们需要输出带有特定格式的字符串时,格式化输出就是一种非常有效的方法。Python 中有很多种格式化输出的方法,下面将详细介绍常用的几种方式。 使用 % 操作符 在 Python 中,我们可以使用 % 操作符将变量插入到字符串中。用法如下: name = ‘John’ age = 25 print(‘My name is %s and I am %d ye…

    python 2023年6月5日
    00
  • python怎么运行py文件?.py文件cmd命令方法及环境变量配置教程

    Python怎么运行.py文件? 直接运行.py文件 Python安装成功后,我们就可以直接在cmd命令提示符中运行.py文件了。只需要使用以下命令: python xxx.py 其中,xxx代表你的.py文件名。如果文件不在当前目录下,需要输入完整路径。如: python D:\test\hello.py 这样就可以直接执行hello.py文件了。 使用环…

    python 2023年5月30日
    00
合作推广
合作推广
分享本页
返回顶部