[英]Most computationally efficient way to prevent appending to string if appending variable is `None`
我正在遍歷JSON樹並將特定值附加到字符串。
有時,JSON對象返回None
而我的代碼給出了錯誤,因為Python不允許將None
附加到字符串。
在這種情況下,什么是防止附加任何內容的最有效的計算方法? 我將要遍歷數億個字符串對於速度非常重要。
我找到的最常見的解決方案是使用filter(None,yourList),但不適用於我的情況,因為我要遍歷具有不同樹結構的不同JSON對象,並且僅搜索和提取某些值。
我正在處理數百萬個JSON對象,因此,如果這是一個因素,那么速度和計算效率比代碼的緊湊性更為重要。
簡而言之
a = None
b = 'this string' + somefunction(a)
print(b)
這個字符串
這是我能想到的最好的
def somefunction(strr):
if strr == None:
return ''
else:
return strr
但是我想知道這是否是最快的解決方案。 由於我要遍歷數億個對象,因此任何加速都將非常有益。
如果等於None,可以將a
轉換為''
:
a = str(a) if a is not None else ''
然后將其添加到b
:
b = 'WAKA' + a
或者,如果您不介意將0 / Nones / empty-somethings轉換為''
,則可以編寫如下內容:
b = 'WAKA' + (a if a else '')
要么:
b = 'WAKA' + (a or '')
我認為這些變體幾乎是沒有C代碼的Python中最快的變體。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.