Ⅰ Python中最常用的操作列表的幾種方法歸納
這里介紹幾個常用的列表操作:
1、添加元素
添加元素使用列表的內置方法append
number
=
[1,
2,
3,
4]
number.append(5)
#
number
=
[1,
2,
3,
4,
5]
number.append([6,7])
#
number
=
[1,
2,
3,
4,
5,
[6,
7]]
number.append({'a':'b'})
#
number
=
[1,
2,
3,
4,
[6,
7],
{'a',
:'b'}
可以看到強大的python列表可以嵌套任意類型
2、列表相加
要想連接兩個列表,可以使用+號連接
a
=
[1,
2,
3]
b
=
[4,
5,
6]
c
=
a
+
b
#
c
=
[1,
2,
3,
4,
5,
6]
也可以使用列表內置方法extend連接兩個列表
a
=
[1,
2,
3]
b
=
[4,
5,
6]
a.extend(b)
#
a
=
[1,
2,
3,
4,
5,
6]
用+號會創建一個新通對象,使用extend則在原來的對象上面修改
3、列表去重復
列表本身沒有去除重復的功能,但是可以藉助python的另外一個類型set(help(set)查看)
a
=
[1,
2,
3,
3,2,
1]
b
=
list(set(a))
#
b
=
[1,
2,
3]
也可以藉助字典類型的內置方法
a
=
[1,
2,
2,
3,
1,
3]
b
=
{}.fromkeys(a).keys()
#
b
=
[1,
2,
3]
Ⅱ Python方法的幾種常見參數類型
無默認值參數(關鍵字參數):
defmyfun(a):
print(a)
這是參數的最簡單形式。這個a就是無默認值參數。在調用函數時必需為無默認值參數指定值。
無默認值參數可以通過兩種方式來指定值:
#按參數定義順序不指名傳遞值
myfun('/src/image')
#無視定義順序,通過關鍵字指定值
myfun(a='/src/image')
無默認值參數在函數內部使用關鍵字作為變數名來訪問
無默認值參數可以有多個,也是一些其它參數類型的基礎。
默認值參數:
如果在定義時為參數指定一個默認值,那麼,這個參數就可以在調用時不指定值:
defmyfun(a=''):
print(a)
#不為a指定值
myfun()
#按定義順序為a指定值
myfun('/src/lib')
#通過關鍵字為a指定值
myfun(a='/src/lib')
在定義時,所有默認值參數只能出現在所有無默認值參數之後,也就是說,在函數的定義中,要先定義無默認值參數,再定義默認值參數。
不定長參數:
在參數名之前添加一個*號,則該參數稱為不定長參數。一個函數只可以有一個不定長參數。不定長參數的定義位置沒有限制,它可以定義在無默認值參數之間,也可以定義在默認值參數之後,或者它們之間的任何一個位置。
在調用時,不定長參數之後定義的無前兩種類型的參數就只能使用關鍵字來指定值了。
不定長參數在函數內部被處理為一個tuple。
def_max(*e,base=9):
print('called"_max":')
print('e:',e)
print('base:',base)
#只向不定長參數傳遞了值
#輸出:
#called"_max":
#e:(3,4,5)
#base:9
_max(3,4,5)
#也向默認值參數base傳遞了值
#輸出:
#called"_max":
#e:(3,4)
#base:5
_max(3,4,base=5)
#直接通過一個元組傳遞不定長參數的值
#輸出:
#called"_max":
#e:(3,4)
#base:5
p=(3,4)
_max(*p,base=5)
#使用混合方式傳遞不定長參數
#輸出:
#called"_max":
#e:(3,4,5,6,7)
#base:10
p1=(3,4)
p2=(6,7)
_max(*p1,5,*p2,base=10)
調用函數時如果沒有為不定長參數指定值,將導入一個空元組。
不定長關鍵字參數:
不定長關鍵字參數使用兩個星號作為前綴與其它類型的參數區分,它在函數內被導入為一個字典。調用時需要為不定長關鍵字參數給出約定的關鍵字名,賦值形式如同無默認值參數。
一般情況下,不定長參數是作為最後一個參數來定義。
defmyfun(**kw):
print(kw)
myfun(base=1,home='aaaa')
以上只是基本的調用方式,有些時候,可以有更有趣的調用方式,例如定義了一個既含無默認值參數也含默認值參數的函數:
defiter_dir(homedir,exts='*',includesubdir=False,monoinfile=False,
titlere='^[^^].*',textengine=default_textengine,
encode=None):
調用時也可以用這樣的方式來傳遞值:
kwgs={'homedir':'C:/Users/hunte/Documents/yun/阿瑟·C·克拉克',
'exts':'txt',
'includesubdir':True}
myiter=iter_dir(**kwgs)
forfileinmyiter:
pass
Ⅲ Python random模塊常用方法
Python random模塊常用方法
這篇文章主要介紹了Python random模塊常用方法,本文羅列了最常用的方法,需要的朋友可以參考下
代碼如下:
import random
print random.random()
獲取一個小於1的浮點數
代碼如下:
import random
random.randint(1,10)
獲取一個從1到10的整數
代碼如下:
import random
print random.uniform(0,2)
獲取一個大於0小於2的浮點數
代碼如下:
import random
print random.randrange(1,10,4)
獲取一個從1到10步長為4的隨機數
代碼如下:
import random
a=[1,2,3,4,5]
random.choice(a)
從列表a從隨機取出一個元素
代碼如下:
import random
a=[1,2,3,4,5]
random.shuffle(a)
打亂列表a里元素的順序
代碼如下:
import random
a=[1,2,3,4,5]
random.sample(a,3)
從列表a中以隨機順序取出3個元素(一個元素只能取出一次,所以取出的個數不能大於列表所含元素的個數)
Ⅳ Python 幾個字元串常用的方法
split([sep]) 將字元串分割為列表,默認用空白符分割,給出字元串參數,用參數字元串分割
'a b c'.split() 返回 ['a','b','c']
join 將可迭代對象中的字元串連接在一起
'\n'.join(['a','b','c'] )返回字元串 "a\nb\nc"
str.find(substr,[start,[end]]) 從str的下標 start至end之間查找substr,返回substr出現位置的下標,未找到返回-1
str.index 與find相仿,但未找到拋出異常
其餘還要通用的下標 ,切片操作等
Ⅳ python常用包及主要功能
Python常用包:NumPy數值計算、pandas數據處理、matplotlib數據可視化、sciPy科學計算、Scrapy爬蟲、scikit-learn機器學習、Keras深度學習、statsmodels統計建模計量經濟。
NumPy是使用Python進行科學計算的基礎包,Numpy可以提供數組支持以及相應的高效處理函數,是Python數據分析的基礎,也是SciPy、Pandas等數據處理和科學計算庫最基本的函數功能庫,且其數據類型對Python數據分析十分有用。
pandas 是python的一個數據分析包,是基於NumPy 的一種工具,該工具是為了解決數據分析任務而創建的。pandas提供了大量能使我們快速便捷地處理數據的函數和方法。
Matplotlib是強大的數據可視化工具和作圖庫,是主要用於繪制數據圖表的Python庫,提供了繪制各類可視化圖形的命令字型檔、簡單的介面,可以方便用戶輕松掌握圖形的格式,繪制各類可視化圖形。
SciPy是一組專門解決科學計算中各種標准問題域的包的集合,包含的功能有最優化、線性代數、積分、插值、擬合、特殊函數、快速傅里葉變換、信號處理和圖像處理、常微分方程求解和其他科學與工程中常用的計算等,這些對數據分析和挖掘十分有用。
Scrapy是專門為爬蟲而生的工具,具有URL讀取、HTML解析、存儲數據等功能,可以使用Twisted非同步網路庫來處理網路通訊,架構清晰,且包含了各種中間件介面,可以靈活地完成各種需求。
Scikit-Learn是Python常用的機器學習工具包,提供了完善的機器學習工具箱,支持數據預處理、分類、回歸、聚類、預測和模型分析等強大機器學習庫,其依賴於Numpy、Scipy和Matplotlib等。
Keras是深度學習庫,人工神經網路和深度學習模型,基於Theano之上,依賴於Numpy和Scipy,利用它可以搭建普通的神經網路和各種深度學習模型,如語言處理、圖像識別、自編碼器、循環神經網路、遞歸審計網路、卷積神經網路等。
Statsmodels是Python的統計建模和計量經濟學工具包,包括一些描述統計、統計模型估計和推斷。
Ⅵ python常用的斷言方式有哪些
(一)assertEqual 和 assertNotEqual
assertEqual:如兩個值相等,則pass
assertNotEqual:如兩個值不相等,則pass
下面看下具體使用方法
self.driver.find_element_by_xpath("//android.widget.LinearLayout[1]/android.support.v7.app.ActionBar.e[2]").click()#切到超模25tab
sleep(3)
self.assertEqual(self.driver.find_element_by_id('com.boohee.secret:id/tv_title').text,u'超模25','切到超模25tab失敗')
(1)這邊是通過id(com.boohee.secret:id/tv_title)獲取它的text值,與預期「超模25」對比,如相等則pass;不相等則fail。
(2)後面的「切到超模25tab失敗」是fail時需要列印的信息,可寫可不寫。
斷言assertNotEqual反著用就可以了。
(二)assertTrue和assertFalse
assertTrue:判斷bool值為True,則pass
assertFalse:判斷bool值為False,則Pass
下面看下具體使用方法
self.driver.find_element_by_xpath("//android.widget.LinearLayout[1]/android.widget.TextView[1]").click()#點擊登錄入口
sleep(2)
self.driver.find_element_by_xpath("//android.widget.LinearLayout[1]/android.widget.EditText[1]").send_keys("testq1")#輸入用戶名
sleep(2)
self.assertTrue(self.find_element_by_id('com.boohee.secret:id/btn_login').is_enabled(),'未輸密碼登錄按鈕為不可點狀態,Fail')
(1)這邊是通過id(com.boohee.secret:id/btn_login)獲取它的激活狀態,如為True則pass;反之則fail。
(2)後面的「未輸密碼登錄按鈕為不可點狀態」是fail時需要列印的信息,可寫可不寫。
斷言assertFalse反著用就可以了。
(三)assertIsNone和assertIsNotNone
assertIsNone:不存在,則pass
assertIsNotNone:存在,則pass
下面看下具體使用方法
self.driver.find_element_by_xpath("//android.widget.LinearLayout[1]/android.widget.TextView[1]").click()#點擊登錄入口
sleep(2)
self.driver.find_element_by_xpath("//android.widget.LinearLayout[1]/android.widget.EditText[1]").send_keys("testq1")#輸入用戶名
sleep(2)
self.driver.find_element_by_xpath("//android.widget.LinearLayout[2]/android.widget.EditText[1]").send_keys("boohee")#輸入密碼
sleep(2)
self.driver.find_element_by_xpath("//android.widget.LinearLayout[1]/android.widget.Button[1]").click()#點擊登錄按鈕
sleep(10)
self.assertIsNotNone(self.driver.find_element_by_id('com.boohee.secret:id/tv_edit_profile'),'無編輯資料按鈕,登錄失敗,Fail')
(1)這邊是通過尋找id(com.boohee.secret:id/tv_edit_profile)的元素是否存在,如存在則pass;不存在則fail。
(2)後面的「無編輯資料按鈕,登錄失敗,Fail」是fail時需要列印的信息,可寫可不寫。
斷言assertIsNone反著用就可以了。
Ⅶ python中的列表中常用的方法有哪些,分別是什麼作用
Python列表定義:按特定順序排列的元素組成。在Python中,用方括弧[]來表示列表,並用逗號來分隔其中的元素。Python列表是編程中很常見的數據類型 。
列表是一種可修改的集合類型,其元素可以是數字、string等基本類型,也可以是列表、元組、字典等集合對象,甚至可以是自定義的類型。其定義方式如下:>>> nums = [1,2,3,4]>>> type(nums)>>> print nums[1, 2, 3, 4]>>> strs = ["hello","world"]>>> print strs['hello', 'world']>>> lst = [1,"hello",False,nums,strs]>>> type(lst)>>> print lst[1, 'hello', False, [1, 2, 3, 4], ['hello', 'world']]
下面我們來看一下列表中有哪些常見的方法:count():統計某個元素在列表中出現的次數。index():從列表中找出某個值第一個匹配項的索引位置。append():在列表末尾添加新對象。extend():在列表末尾一次性追加另一個序列的多個值。insert():在列表的指定位置插入對象。pop():移除列表中的一個元素(默認最後一個元素),並且返回該元素的值。remove():移除列表中某個值的第一個匹配項。reverse():將列表中的元素反向,不重新拷貝一個列表。reversed():將列表中的元素反向,重新拷貝一個列表。sort():將列表中的元素排序,不重新拷貝一個列表。sortd():將列表中的元素排序,重新拷貝一個列表。():淺拷貝,只是給原來的列表貼上了一個新標簽,對於一個復雜對象的子對象並不會完全復制,如果有子列表,改變原來的值,新的拷貝對象也會改變。deep():深拷貝,將復雜對象的每一層復制一個單獨的個體出來。就是完全拷貝。常見內置函數:max()、min()、sum()、len()、all()、any()、zip()、enumerate()
Ⅷ python 最常用的內建函數。
writer = open(『/tmp.log', 'a', encoding='utf-8') # 以追加模式打開tmp.log文件,編碼為utf-8
writer.write('開始處理...') # 寫入內容
writer.write('%(tile)s %(author)s %(size)d %(summary)s' % book)
writer.write('處理完畢')
writer.flush() # 刷新緩存
writer.close() # 關閉文件
Ⅸ python常用快捷鍵
Ctrl + Shift + F7 用法高亮顯示
Ctrl + Alt + F7 顯示用法
編輯
Ctrl + Shift + V 從最近的緩沖區粘貼
Ctrl + D 復制選定的區域或行到後面或下一行
Ctrl + Y 刪除當前行
Ctrl + Shift + J 添加智能線
Ctrl + Enter 智能線切割
Shift + Enter 下一行另起一行
Ctrl + O 重新方法
Ctrl + Alt + T 選中
Ctrl + Numpad+/- 展開折疊代碼塊
Ctrl + Numpad+ 全部展開
Ctrl + Numpad- 全部折疊
Ctrl + F4 關閉運行的選項卡
Ctrl + Space 基本的代碼完成(類、方法、屬性)
Ctrl + Alt + Space 快速導入任意類
Ctrl + Shift + Enter 語句完成
Ctrl + P 參數信息(在方法中調用參數)
Ctrl + Q 快速查看文檔
Ctrl + / 行注釋
Ctrl + Shift + / 塊注釋
Ctrl + W 選中增加的代碼塊
Tab / Shift + Tab 縮進、不縮進當前行
Ctrl+X/Shift+Delete 剪切當前行或選定的代碼塊到剪貼板
Ctrl+C/Ctrl+Insert 復制當前行或選定的代碼塊到剪貼板
Ctrl+V/Shift+Insert 從剪貼板粘貼
Ctrl + Alt + I 自動縮進
Ctrl + Shift + U 在選定的區域或代碼塊間切換
Ctrl + Delete 刪除到字元結束
Ctrl + Backspace 刪除到字元開始
Shift + F1 外部文檔
Ctrl + 滑鼠 簡介
Ctrl + Shift + W 回到之前狀態
Ctrl + Shift + ]/[ 選定代碼塊結束、開始
Alt + Enter 快速修正
Ctrl + Alt + L 代碼格式化
Ctrl + Alt + O 自動導入
Ctrl + F1 顯示錯誤描述或警告信息
Alt + Insert 自動生成代碼