九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Python 如何刪除列表中的空值 | 列表

 # -*- coding:utf-8 -*-

 import os
import time cpuInfo = os.popen(r'adb shell top -d 1 -n 1 | findstr com.google.dialer').read()
print (cpuInfo)
cpuDetail = cpuInfo.split(" ")
print (cpuDetail)

輸出為:

22542 u0_a118      10 -10 1.2G 143M  81M S  148  16.2   9:29.80 com.google.dialer

['22542', 'u0_a118', '', '', '', '', '', '10', '-10', '1.2G', '143M', '', '81M', 'S', '', '148', '', '16.2', '', '', '9:29.80', 'com.google.dialer\n\n']

  

其中輸出的列表中148這個值本為我要獲取的CPU數據,本以為這個列表相對固定,我就直接去通過列表索引[15]即可獲得該值,但發(fā)現多執(zhí)行幾次之后,所要的CPU數據并不是在固定位置,有時在第15位,有時在第16位,本能的覺得這個通過相對位置不可靠,得找一個可靠的方法才行。

仔細瞧這些列表,發(fā)現在CPU數值前面的全部是空值,其它項是每次都會有值輸出,那么就好辦了只要使用列表的 remove方法將空值刪除不就可以了。

下面是刪除空值方法:

 cpuInfo = os.popen(r'adb shell top -d 1 -n 1 | findstr com.google.dialer').read()
print (cpuInfo)
cpuDetail = cpuInfo.split(" ")
# 方法一
while '' in cpuDetail:
cpuDetail.remove('')
print (cpuDetail) # 方法二
new_list = [i for i in cpuDetail if i !='']
print (new_list)

兩種刪除列表空值方法的輸出如下:

['22542', 'u0_a118', '10', '-10', '1.2G', '89M', '70M', 'S', '125', '10.1', '9:53.49', 'com.google.dialer\n\n']
['22542', 'u0_a118', '10', '-10', '1.2G', '89M', '70M', 'S', '125', '10.1', '9:53.49', 'com.google.dialer\n\n']

  

有人會提出疑問,可不可以用 for 循環(huán)來操作,接下來會告訴你為什么不能用for 循環(huán),如下:

 cpuInfo = os.popen(r'adb shell top -d 1 -n 1 | findstr com.google.dialer').read()
print (cpuInfo)
cpuDetail1 = cpuInfo.split(" ")
print ("刪除空值前的輸出如下:\n",cpuDetail1)
cpuDetail2 = cpuInfo.split(" ") for i in cpuDetail2:
if i == '':
cpuDetail2.remove(i)
print ("刪除空值后的輸出如下:\n",cpuDetail2)

輸出如下:

刪除空值前的輸出如下:
['22542', 'u0_a118', '', '', '', '', '', '10', '-10', '1.2G', '', '94M', '', '70M', 'R', '', '130', '', '10.7', '', '10:10.79', 'com.google.dialer\n\n']
刪除空值后的輸出如下:
['22542', 'u0_a118', '10', '-10', '1.2G', '94M', '70M', 'R', '130', '', '10.7', '', '10:10.79', 'com.google.dialer\n\n']

  

通過輸出可以看出它只把前面五個空值給刪除了,后面的空值還是仍然存在。

for的計數器是依次遞增的,但列表的內容已通過remove更改,i迭代的值為 '’ '’ '’然后越界,所以,只能刪除前五個空元素。

這個問題算是大家非常容易忽略的細節(jié)問題。在遍歷列表時,特別要注意遍歷過程中不要對原列表進行增刪操作,以免影響迭代過程

請贊賞

朋友,創(chuàng)作不易;為犒賞小編的辛勤勞動,請她喝杯咖啡吧!

給贊賞的您,運氣會變好!

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
The history of Android | Ars Technica
openwrt 查看相應的硬件信息
python基礎教程:Python實現的多進程拷貝文件并顯示百分比功能示例
linux服務器巡檢腳本
檢查系統(tǒng)信息腳本
Python執(zhí)行系統(tǒng)命令的方法 os.system(),os.popen(),commands
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服