怎么把空字符串去掉_Python知识点字符串转整数需注意
生活随笔
收集整理的這篇文章主要介紹了
怎么把空字符串去掉_Python知识点字符串转整数需注意
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
↑↑↑關注后"星標"簡說Python人人都可以簡單入門Python、爬蟲、數據分析簡說Python嚴選?
來源:簡說Python ?? 作者:老表
One?old?watch,?like?brief python大家好,我是老表~Python知識點系列,學習了記得點贊、留言、轉發,三連哦~字符串轉整數需注意
問題源自我做阿里云天池Docker練習賽時(點擊查看),讀取num_list.csv數據后發現列表里的每個元素是字符串,所以需要先轉化為整數,然后才能進行求和和排序,提交代碼時遇到下面問題:
%?Total?%?Received?%?Xferd?Average?Speed?Time?Time?Time?CurrentDload?Upload?Total?Spent?Left?Speed
100?145?100?45?100?100?4?9?0:00:11?0:00:10?0:00:01?0
Traceback?(most?recent?call?last):
File?"hello_world.py",?line?14,?in?
tc_list?=?[int(i)?for?i?in?tc_list]
File?"hello_world.py",?line?14,?in?
tc_list?=?[int(i)?for?i?in?tc_list]
ValueError:?invalid?literal?for?int()?with?base?10:?''
{"code":"SUCCESS","data":{"returnCode":true}}
倒數第二行是關鍵,意思是說''不能被轉化為整數數據。
ValueError:?invalid?literal?for?int()?with?base?10:?''所以在對列表進行處理時,需要提前去掉空字符串或者非純數字組成的字符串,處理方法如下:
#?如果確定數據為整數,可以直接用isdigit()函數#?1、數據為整數,不帶正負號
str1.isdigit()
#?2、數據為整數,帶正負號
if?str1[0]?in?['-',?'+']:??
????if?str1[1:].isdigit():
????????return?int(str1)
????????
#?3、如果為浮點型,可以寫一個函數
def?is_number(str1):
????try:
????????float(str1)????#?直接轉化,為float,看報不報錯
????except?ValueError:??#?如果報錯,說明不是數值類型
????????return?False
????return?True
list1?=?['1',?'2',?'']
#?轉化為數值類型,并去除非數值類型字符串
list2?=?[float(i)?for?i?in?list1?if?is_number(i)]
在Docker入門賽事中,由于知道數據表中的數據都為整數,所以可以直接這樣處理:
tc_list?=?[int(i)?for?i?in?tc_list?if?i?!=?'']簡說Java長按掃碼關注,一起學Java簡說Python長按掃碼關注,一起學Python------------------如果覺得文章有點用的話,請毫不留情地素質三連吧,分享、點贊、在看、收藏,我不挑,因為這將是我寫作更多優質文章的最強動力。 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的怎么把空字符串去掉_Python知识点字符串转整数需注意的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于坚强励志的句子121个
- 下一篇: 廉颇蔺相如列传翻译和原文