python中列表、字典和map,lambda函式的操作淺析新
一:一些簡單的操作
列表切片
a=[1,2,3,4,5,6,7,8]
a[1:]
[2, 3, 4, 5, 6, 7, 8]
a[::-1]
[8, 7, 6, 5, 4, 3, 2, 1]
a[2:4]
[3, 4]
a[::-2]
[8, 6, 4, 2]
a[-3:-1]
[6, 7]
列表生成
x=[x**2 for x in a]
[1, 4, 9, 16, 25, 36, 49, 64]
字典生成
b={'q':1,'w':2,'e':3} {'e': 3, 'q': 1, 'w': 2} c={k:(v+1) for k,v in b.items()} {'e': 4, 'q': 2, 'w': 3}
注意,b.items()的方法是把字典中所有的元素以列表的形式展現出來,用b.keys(),b.values()一樣
如果在判斷一個key是否在字典,應使用如下
if x in dic:
pass
時間複雜度為1
但是若採用
if x in dic.keys():
pass
時間複雜度會變成n
我在這裡有很深感觸。
map函式的簡單使用。
a=[1, 2, 3, 4, 5, 6, 7, 8]
b=list(map(str,a))
['1', '2', '3', '4', '5', '6', '7', '8']
map和lambda的簡單使用
c=list(map(lambda x : x+2 , a)) [3, 4, 5, 6, 7, 8, 9, 10]
再配合filter使用
c=list(map(lambda x : x+2 , filter(lambda x : x % 3 == 0,a)))
[5, 8]
二,一些高階特性
1.enumerate函式的使用
enumerate可以把各種迭代器包裝為生成器,以便稍後產生輸出值,生成器每產生一對輸出值,其中,前者表示迴圈下標,後者表示從迭代器中獲取的下一個序列元素。
舉例如下
a=['qwqw','dota','lol','dnf','bibi']
for k,v in enumerate(a):
print(k,v)
0 qwqw
1 dota
2 lol
3 dnf
4 bibi
2.zip函式的使用
python3中的zip函式,可以把兩個或者兩個以上的迭代器封裝為生成器,以便以後求值。這種zip生成器,會從每個迭代器中獲取該迭代器的下一個值,然後把這些值匯聚成元組,與通過下標來訪問多份列表的那種寫法相比,這種zip寫出來的程式碼更加清晰。如果遇到的輸入的迭代器的長度不同,那麼只要有一個迭代器耗盡,zip就會停止工作。
簡單舉例如下
a=['zhang','li','zhao']
b=['haha','yaya','wawa','wuwu']
for k,v in zip(a,b):
print(k,v)
zhang haha
li yaya
zhao wawa
相關推薦
python中列表、字典和map,lambda函式的操作淺析新
一:一些簡單的操作列表切片a=[1,2,3,4,5,6,7,8] a[1:] [2, 3, 4, 5, 6, 7, 8] a[::-1] [8, 7, 6, 5, 4, 3, 2, 1] a[2:4] [3, 4] a[::-2] [8, 6, 4, 2] a[-3:-1]
python中列表、元組、字典和集合
列表、元組、字典和集合 1.列表和元組。 Python中列表list和元組tuple都是表示元素序列甚至都不要求表示的元素型別一樣。都是按照下標進行存取操作,最大的不同是元組裡面的值確定之後,不能修改。 列表的建立: Empty_list=[]空列表。 Week
leetcode-1:python基礎,迴圈、條件、列表、字典的應用,enumerate、range函式以及2.0和3.0print的區別
題目: Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each
Python中列表、元組、字典、集合與字串,相關函式,持續更新中……
> 本篇部落格為博主第一次學 Python 所做的筆記(希望讀者能夠少點浮躁,認真閱讀,平心靜氣學習!) **補充:** - 列表、元組和字串共同屬性: - 屬於有序序列,其中的元素有嚴格的先後順序 - 都支援雙向索引,索引範圍 [ -L, L-1 ] ,L -- 表示列表、元組和字串的長度(分正向索引
Python 語言學習 第三篇:陣列型別(列表、字典和元組)
列表和欄位都可以在原處進行修改,可以按照需求增長或縮短,並且可以包含任何型別的物件或被巢狀。列表和字典儲存的是物件的引用,而不是拷貝。 一,列表 列表是有序的序列,每一個列表項的順序是固定的,這使得列表可以通過指定的偏移來索引和分片。列表是可變的序列,支援在原處修改。 列表項可以是任何型別,或物件,也可
python中列表、元組及字典的排序
0 序言 首先介紹,在Python排序中,常用的兩個排序函式是sort()和sorted()。在講列表、元組和字典的排序之前,有必介紹這兩個函式。下面基於Python3,檢視該函式的引數值。(Python2和Pyhton3對這兩函式的引數設定有所差別) 在P
day5 元組、列表、字典和集合
排列 auth {} 裏的 快速 log tde 格式 add 列表是用來存放多個值[]內用逗號分隔,列表內元素屋類型限制但凡能用for取出的一個個值的,就能把它放入list列表補充for循環range()和切片用法相同取頭不取尾,步長range用來打印索引和索引對應的值e
字符串、列表、字典和集合
disjoint 大寫 居中 編碼 ros 位置 itl 臨時 字符 一、字符串常用方法 1 #!/usr/bin/env python 2 #created by Baird 3 4 str = "my name is Baird." 5 str2= "my
python中@staticmethod、@classmethod和實例方法
dir pri cep ear 代碼 應用 can 打印 靜態 1.形式上的異同點: 在形式上,Python中:實例方法必須有self,類方法用@classmethod裝飾必須有cls,靜態方法用@staticmethod裝飾不必加cls或self,如下代碼所示: 1
python中readability、Document和html2text的使用
今天在處理html資料的時候發現了python裡面比較好玩的幾個庫,先存起來之後有時間慢慢再去學習和使用,覺得是一件蠻有意思的事情。今天想學習使用的是html2text模組和readability模組。其中,第一個模組是負責對html資料進行處理的,返回html中的文字資訊;第二個模組是負責html
java中list、set和map 的區別
List的功能方法 實際上有兩種List: 一種是基本的ArrayList,其優點在於隨機訪問元素,另一種是更強大的LinkedList,它並不是為快速隨機訪問設計的,而是具有一套更通用的方法。 List : 次序是List最重要的特點:它保證維護元素特定的順序。List為Colle
python 002-python基礎列表、字典、函式的使用
列表的使用 names=["張三"]; print(names) 新增列表的值 尾部新增 names.append("李四") print(names) 新增列表的值 指定位置新增 names.insert(1,"王五"); print(names) 刪除列表的
python中hasattr、getattr和setattr的使用方法
hasattr(object, name)判斷一個物件裡面是否有name屬性或者name方法,返回BOOL值,有name特性返回True, 否則返回False。需要注意的是name要用括號括起來 1 >>> class test(): 2 ...
python中 and、or和 &|
and: 表示式a and表示式 b: 表示式a 如果是真,那麼就返回表示式 b 表示式a 如果為假,那麼就返回表示式 a or: 表示式 a or 表示式 b: 表示式 a如果為真,那麼就返回表示式 a 表示式 a如果為假,那麼就返回表示式 b &:標示與運算 1&
Python中的異常處理和try,except的用法
在各種程式語言進行工作和學習的過程中,都會有一些錯誤異常,這些錯誤則以不同的方式去展現出來,但是也有一些程式語言的錯誤資訊無法直接看到,比如html和css,只能通過頁面顯示的最終結果來判斷是否有錯誤。Python的錯誤異常在大部分IDE編輯器中則可以直接顯示出來,便於開發人員的除錯及修改工
Python中read()、readline()和readlines()三者間的區別和用法
前言 眾所周知在python中讀取檔案常用的三種方法:read(),readline(),readlines(),今天看專案是又忘記他們的區別了。以前看書的時候覺得這東西很簡單,一眼掃過,待到用時卻也只知道有這麼幾個方法,不懂得它的原理與用法。也許吧,沒有永遠的記憶,況且根
python中封裝、繼承和多型——python學習筆記
1. 準備 封裝、繼承和多型在程式語言中專指面向物件程式設計的特性,下面先給出一個python中建立類的例子: class Student(object): def __init__(self, name, score): self.name = name
Python中 and 、or 和 & ||
and :表示式 a and 表示式 b:表示式a 如果是真,那麼就返回表示式b表示式a如果是假,那麼就返回表示式aor:表示式 a or 表示式 b:表示式a 如果是真,那麼就返回表示式a表示式a如果是假,那麼就返回表示式b&,標示與運算1&2,2在二進
python中str()、int()和float()函式
在python中有比較特殊的運算子比如: ** # 表示指數,2**3=8 // # 表示整除,取商的整數部分,不進行四捨五入,22/8=2 最基本的三種資料型別是str字元型,int整形,float浮點型,一個值或一個變數在同一時刻只能
Python中read()、readline()和readlines()的用法簡單案例
首先我們先建立一個測試檔案,test.txt1.read() 用法:從檔案當前位置起讀取size個位元組,若無引數size,則表示讀取至檔案結束為止,它範圍為字串物件。# 開啟含中文的文字 file=o