最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python中的條件賦值判斷語句語法

 更新時間:2023年08月11日 11:45:42   作者:Gruce_L、????  
這篇文章主要介紹了python條件賦值判斷語句語法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

python條件賦值判斷語句語法

if - elif - else 語句

如果是普通的三元,if else正常的語句看起來會有些冗余,所以下面有三種寫法:

1、c = [a, b] [a > b]?

如果a > b為false, 那么就輸出a,否則就輸出b

2、天平式寫法

c = a if a > b else b

如果a > b 為真,則輸出a,否則輸出b

eg:

summary = content[:100] if item[‘is_html'] else “”

3、賦值語句類似于條件判斷語句

(c = a > b and [a] for [b])[0]?

a為假的時候,會輸出b,當把a變成列表形態(tài)[a]時候,可以排除例外,就是當列表怨怒為空時

eg:

summary = item[‘is_html'] and content[:100] or “”

python條件賦值問題

有條件賦值語句

假設有列表 buf = [[1], [2], [5], None, [], [7], ()] ,求buf內的數的和

這樣有三種解決辦法

sum_buf = 0
for i in buf:
    if i is not None:
        sum_buf += i[0]
sum_buf = 0:
    for i in buf:
        sum_buf += i[0] if i else 0
sum_buf = sum([i[0] for i in buf if i])

顯然第三種用列表推導是最簡潔的,但不適用于循環(huán)體內操作過于復雜的情況。

這時候第二種帶if語句的賦值就更有效,既增加了程序的可讀性又沒有獨立于循環(huán)體外增加復雜度

帶if語句的賦值

最有代表性的應用場景是做對象操作而不確定變量名是否貼在目標對象上的時候,比如上例中的 None [] 、 () 都是不能做索引操作的

None 、空列表、空元組、空字符串、0的bool值都是False,類通過支持 __bool__ 方法就可以使類支持bool運算;從而支持if、while、and等語句

buf = []
a = buf.pop() if buf else 0
# 這里a=0
# 做buf.pop()操作前先進行if判斷

實際對比

做完leetcode(2)題,在解題里看到的這種賦值方式,用基本相同的思路,如果用這種方式,可讀性和效率會有質的飛躍

不用:

# Definition for singly-linked list.
# class ListNode(object):
#     def __init__(self, x):
#         self.val = x
#         self.next = None
class Solution(object):
    def addTwoNumbers(self, l1, l2):
        """
        :type l1: ListNode
        :type l2: ListNode
        :rtype: ListNode
        """
        flag = False
        res = ListNode(0)
        _res = res
        while True:
            if l1 is None and l2 is None:
                if flag is 0:
                    p.next = None
                else:
                    _res.val += flag
                return res
            elif l1 is None:
                val, flag = self.__add(l2.val, flag)
                _res.val += val
                _res.next = ListNode(0)
                p = _res
                _res, l2 = _res.next, l2.next
            elif l2 is None:
                val, flag = self.__add(l1.val, flag)
                _res.val += val
                _res.next = ListNode(0)
                p = _res
                _res, l1 = _res.next, l1.next
            else:
                val, flag = self.__add(l1.val, l2.val, flag)
                _res.val += val
                _res.next = ListNode(0)
                p = _res
                _res, l1, l2 = _res.next, l1.next, l2.next
    def __add(self, *args):
        add = sum(args)
        carry = add//10
        return add-10*carry, carry

用帶if語句的賦值:

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None
class Solution:
    def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode:
        dummy = p = ListNode(None)
        s = 0
        while l1 or l2 or s:
            s += (l1.val if l1 else 0) + (l2.val if l2 else 0)
            p.next = ListNode(s % 10)
            p = p.next
            s //= 10
            l1 = l1.next if l1 else None
            l2 = l2.next if l2 else None
        return dummy.next

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • python的time模塊和datetime模塊實例解析

    python的time模塊和datetime模塊實例解析

    這篇文章主要介紹了python的time模塊和datetime模塊實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • python Tornado框架的使用示例

    python Tornado框架的使用示例

    這篇文章主要介紹了python Tornado框架的使用示例,幫助大家更好的利用python進行web開發(fā),感興趣的朋友可以了解下
    2020-10-10
  • python買賣股票的最佳時機(基于貪心/蠻力算法)

    python買賣股票的最佳時機(基于貪心/蠻力算法)

    這篇文章主要介紹了python買賣股票的最佳時機(基于貪心/蠻力算法),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • 基于Python實現一個條形碼檢測算法

    基于Python實現一個條形碼檢測算法

    條形碼識別是計算機視覺中的常見任務,下面我將介紹如何使用Python和深度學習框架實現一個高效的條形碼識別解決方案,有需要的小伙伴可以了解下
    2025-12-12
  • 用Python簡單實現個貪吃蛇小游戲(保姆級教程)

    用Python簡單實現個貪吃蛇小游戲(保姆級教程)

    本文基于Windows環(huán)境開發(fā),適合Python新手,文中有非常詳細的代碼示例,對正在學習python的小伙伴們很有幫助,需要的朋友可以參考下
    2021-06-06
  • Python中實現對list做減法操作介紹

    Python中實現對list做減法操作介紹

    這篇文章主要介紹了Python中實現對list做減法操作介紹,需要的朋友可以參考下
    2015-01-01
  • Python下rrdtool模塊的基本使用方法

    Python下rrdtool模塊的基本使用方法

    這篇文章主要介紹了Python下rrdtool模塊的基本使用方法,經常被用來做數據可視化的相關功能,需要的朋友可以參考下
    2015-11-11
  • python實現楊輝三角思路

    python實現楊輝三角思路

    本文給大家分享的是作者使用python實現楊輝三角的思路,非常的實用,有需要的小伙伴可以參考下
    2017-07-07
  • python的特殊語法和常用模塊示例詳解

    python的特殊語法和常用模塊示例詳解

    Python確實支持函數式編程,并提供了一些內置的高階函數,這些函數可以接受其他函數作為參數,從而使代碼更加簡潔和功能強大,這篇文章主要介紹了python的特殊語法和常用模塊詳解,需要的朋友可以參考下
    2024-08-08
  • Python實現自動玩貪吃蛇程序

    Python實現自動玩貪吃蛇程序

    這篇文章主要介紹了通過Python實現的簡易的自動玩貪吃蛇游戲的小程序,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學一學
    2022-01-01

最新評論

青海省| 镇巴县| 公安县| 汉源县| 乌兰浩特市| 龙里县| 离岛区| 东莞市| 雅江县| 南澳县| 盐边县| 永仁县| 曲松县| 尉犁县| 尚义县| 永和县| 四川省| 东乡县| 巩义市| 平和县| 临城县| 镇沅| 柳江县| 兴国县| 沁水县| 惠东县| 固原市| 马龙县| 醴陵市| 鄂托克旗| 三江| 马关县| 巴东县| 桐乡市| 响水县| 大化| 陕西省| 岳池县| 荥阳市| 贡嘎县| 大庆市|