zoukankan      html  css  js  c++  java
  • python 小技巧

    1、for循环中的else条件

    这是一个for-else方法,循环遍历列表时使用else语句。

    下面举个例子,比如我们想检查一个列表中是否包含奇数。

    那么可以通过for循环,遍历查找。

    numbers = [2, 4, 6, 8, 1]
    
    for number in numbers:
        if number % 2 == 1:
            print(number)
            break
    else:
        print("No odd numbers")

    如果找到了奇数,就会打印该数值,并且执行break语句,跳过else语句。

    没有的话,就不会执行break语句,而是执行else语句。

    2、从列表中获取元素,定义多个变量

    my_list = [1, 2, 3, 4, 5]
    one, two, three, four, five = my_list

    3、使用heapq模块,获取列表中n个最大或最小的元素

    import heapq
    
    scores = [51, 33, 64, 87, 91, 75, 15, 49, 33, 82]
    
    print(heapq.nlargest(3, scores))  # [91, 87, 82]
    print(heapq.nsmallest(5, scores))  # [15, 33, 33, 49, 51]

    4、将列表中的所有元素作为参数传递给函数

    我们可以使用 * 号,提取列表中所有的元素

    my_list = [1, 2, 3, 4]
    
    print(my_list)  # [1, 2, 3, 4]
    print(*my_list)  # 1 2 3 4

    如此便可以将列表中的所有元素,作为参数传递给函数

    def sum_of_elements(*arg):
        total = 0
        for i in arg:
            total += i
    
        return total
    
    
    result = sum_of_elements(*[1, 2, 3, 4])
    print(result)  # 10

    5、获取列表的所有中间元素

    _, *elements_in_the_middle, _ = [1, 2, 3, 4, 5, 6, 7, 8]
    print(elements_in_the_middle)  # [2, 3, 4, 5, 6, 7]

    6、使用一行代码赋值多个变量

    one, two, three, four = 1, 2, 3, 4

    7、列表推导式

    只用一行代码,便可完成对数组的迭代以及运算。

    比如,将列表中的每个数字提高一倍。

    numbers = [1, 2, 3, 4, 5]
    squared_numbers = [num * num for num in numbers]
    
    print(squared_numbers) # [1, 4, 9, 16, 25]

    推导式不仅列表能用,字典、集合、生成器也能使用。

    下面看一下,使用字典推导式,将字典的值提高一倍

    dictionary = {'a': 4, 'b': 5}
    squared_dictionary = {key: num * num for (key, num) in dictionary.items()}
    
    print(squared_dictionary)  # {'a': 16, 'b': 25}

    https://mp.weixin.qq.com/s/Kvpb9KgvKmlX200KosjW7A

    故乡明
  • 相关阅读:
    高级前端工程师面试必备(持续更新中)
    用node编写cli工具
    用vscode开发vue应用
    jsbridge的js封装
    react-create-app 构建react项目的流程以及需要注意的地方
    【面试篇】寒冬求职季之你必须要懂的原生JS(中)
    基于vue-cli3.0构建功能完善的移动端架子,主要功能包括
    @vue/cl构建得项目下,postcss.config.js配置,将px转化成rem
    eslint prettier editrorconfig
    数据结构题集--集锦
  • 原文地址:https://www.cnblogs.com/luweiweicode/p/15011530.html
Copyright © 2011-2022 走看看