① python中關系運算符in,not in在字元串表達式和列表的使用時有什麼區別和注意點
Membership test operations
For container types such as list, tuple, set, frozenset, dict, or collections.deque, the expressionxinyis equivalent toany(xiseorx==eforeiny).
For the string and bytes types,xinyisTrueif and only ifxis a substring ofy. An equivalent test isy.find(x)!=-1. Empty strings are always considered to be a substring of any other string, so""in"abc"will returnTrue.
翻譯:
對容器類型,例如list、tuple、set、frozenset、dict或collections.deque,表達式x in y等價於any(x is e or x == e for e in y)。
對字元串和bytes類型,x in y為真當且僅當x是y的子串。等價測試為y.find(x) != -1。空字元串永遠被視作是其他任何字元串的子集,因此"" in "abc"將返回True。
② Python數據容器中,字典與列表,元組,字元串這三種容器有什麼本質區別
①.相同點: 字典像列表,元組,字元串一樣都是用來存儲多個數據的高級容器
②.不同點: 字典是無序的容器,其存儲數據的方式是鍵值對,不能使用索引下標訪問,要使用鍵key訪問數據
而列表,元組,字元串是有序的容器,容器中數據是有順序的,可以通過索引下標訪問數據
想要相關實現的操作和源碼,參考黑馬程序員的相關教程,官網都有配套資料,資料當中就含有課件+筆記+源碼了。總之非常適合小白學習,想要學習的可以去看看。
③ 在Python中列表與字元串這兩種數據結構有何區別你認為採用哪種更可靠
字元串是immutable的,list是mutable的
也就是說字元串一旦定義不可改變,list則可以。
eg.
s="abc"
d=['a','b','c']
d.append('e')
而
new_s=s+'e'
而且,
immutable意味著可以作字典的key,而mutable則不可。
此外兩種東西的方法不同。
④ python 的list和string...
list是列表,string是字元串。列表的格式就是[],[],[]
你想獲得的是列表中的第一個字元串而已。所以你用列表中的第一個值就可以
所以用s[0]
⑤ 簡述python中列表,元組,字典之間的相同點和不同點
元組和列表十分類似,只不過元組和字元串一樣是不可變的即你不能修改元組。元組通過圓括弧中用逗號分割的項目定義。元組通常用在使語句或用戶定義的函數能夠安全地採用一組值的時候,即被使用的元組的值不會改變。1、Python中元組的書面形式和規范:tuplename=(tupleitem1,tupleitem2,tupleitem3,tupleitem4)tuplename=tupleitem1,tupleitem2,tupleitem3,tupleitem4注意:定義元組的是逗號,而非括弧。zoo=('wolf','elephant','penguin')print'Numberofanimalsinthezoois',len(zoo)new_zoo=('monkey','dolphin',zoo)print'Numberofanimalsinthenewzoois',len(new_zoo)print'Allanimalsinnewzooare',new_zooprint'Animalsbroughtfromoldzooare',new_zoo[2]print'Lastanimalbroughtfromoldzoois',new_zoo[2][2]一個空的元組由一對空的圓括弧組成,如myempty=()。然而,含有單個元素的元組必須在第一個(唯一一個)項目後跟一個逗號,這樣Python才能區分元組和表達式中一個帶圓括弧的對象。
⑥ 如何判斷一個Python變數是一個字元串還是列表
python官方文檔在說明type函數的用法時,明文推薦用isinstance測試對象類型。
isinstance似乎不是這么用的。 我通常的做法是用type
x=int(5)
if type(x)==int: print " x is interger. "
else: print "false."
isinstance可以用來判斷一個變數是否屬於一個類。 在python里應該是正確的。
if type(x)==list:pass
if type(x)==dict:pass
⑦ python字典和列表區別有哪些
列表
1.任意對象的有序集合
列表是一組任意類型的值,按照一定順序組合而成的。
2.通過偏移讀取
組成列表的值叫做元素(Elements)。每一個元素被標識一個索引,第一個索引是0,序列的功能都能實現。
3.可變長度,異構以及任意嵌套
列表中的元素可以是任意類型,甚至是列表類型,也就是說列表可以嵌套。
4.可變的序列
支持索引、切片、合並、刪除等等操作,它們都是在原處進行修改列表。
5.對象引用數組
列表可以當成普通的數組,每當用到引用時,Python總是會將這個引用指向一個對象,所以程序只需處理對象的操作。當把一個對象賦給一個數據結構元素或變數名時,Python總是會存儲對象的引用,而不是對象的一個拷貝。
相關推薦:《Python教程》
字典
1.通過鍵而不是偏移量來讀取
字典就是一個關聯數組,是一個通過關鍵字索引的對象的集合,使用鍵-值(key-value)進行存儲,查找速度快。
2.任意對象的無序集合
字典中的項沒有特定順序,以「鍵」為象徵。
3.可變長、異構、任意嵌套
同列表,嵌套可以包含列表和其他的字典等。
4.屬於可變映射類型
因為是無序,故不能進行序列操作,但可以在遠處修改,通過鍵映射到值。字典是唯一內置的映射類型(鍵映射到值的對象)。
5.對象引用表
字典存儲的是對象引用,不是拷貝,和列表一樣。字典的key是不能變的,list不能作為key,字元串、元祖、整數等都可以。
和list比較,dict有以下幾個特點:
1.查找和插入的速度極快,不會隨著key的增加而增加。
2.需要佔用大量的內存,內存浪費多。
而list相反:
1.查找和插入的時間隨著元素的增加而增加。
2.佔用空間小,浪費內存很少。
所以,dict是用空間來換取時間的一種方法。
⑧ python中什麼是序列,列表,元組,字元串,索引,區別是什麼
序列和列表雖然都是用的中括弧[],但個人認為序列是一連串的,但列表裡每個元素都有各自地址,只不過是邏輯上把他們整合到一起而已。
⑨ 列表,元組,字元串是python的什麼序列
序列
序列是Python中最基本的數據結構,包括字元串、列表、元組。
序列,顧名思義,是有序的,序列都有索引,都能進行索引、切片(截取)、加(連接)、乘(倍增)、檢查成員的操作。
因為序列有序,可通過位置來區分元素,所以序列中可含有相同的元素。
序列的通用操作
1、索引
seq[index] index從0開始,支持負數,-1表示最後一個元素。
2、切片(截取)
seq[start:end] 可截取子序列,返回的是副本,原序列不變。預設時默認start為0,end為-1。
3、+(連接)
seq1+seq2+seq3+..... 將多個序列連接為一個序列,返回的是副本,原序列不變
序列的類型要相同,才能相加,比如列表只能+列表,不能+字元串。
4、*(倍增)
seq*n 將序列擴展為原來的n倍,比如「hello」*2就是「hellohello」。返回的是副本,原序列不變。
5、in、not in(檢查成員)
element in/not in seq 判斷某個成員是否在序列中,返回值是bool型
6、python內置函數,不必導入模塊:
len(seq) 返回序列長度(元素個數)
max(seq) 返回序列中值最大的元素
min(seq) 返回序列中值最小的元素
列表(List)
列表中的元素類型可以不同,甚至可以嵌套復雜的數據類型。列表用中括弧[ ]表示。
list1=[1,2,3] #類型相同
list2=[1,"ok",[1,2,3]] #類型不同&&嵌套
列表的常用方法
函數
描述
list.append(ele)
在list末尾添加一個元素
list.insert(index,ele)
在指定位置插入一個元素
list.count(ele)
統計list中ele出現的次數
list.extend(x)
擴展list,x可以是列表、元組、集合、字典(只添加key)。添加到list的末尾。
+連接只能連接相同類型的序列。
list.index(ele)
索引元素,返回索引
list.pop([index])
彈出(刪除)並返回指定位置上的元素,,預設index時默認為-1(最後一個元素)。
list.remove(ele)
移除指定元素,若list中有多個ele,只移除第一個ele
list.()
復制list,返回復制的列表。示例:list2=list1.()
list.clear()
清空列表
list.reverse()
反序排列
list.sort(reverse=True)
將列表中的元素按升/降序排列,預設參數時默認為False(升序),True是降序。示例:
list.sort() #升序排列
list.sort(reverse=True) #降序排列
注意:此函數不返回排序後的列表。
列表(List)是可變的,如果上述方法修改了List,List會改變。
數字(Number)、字元串(String)、元組(Tuple)是不可變的,操作時返回的往往是副本,原來的值不變。
元組(Tuple)
元組中可以含有不同類型的數據。
元組不能被修改,不能刪除、修改元組中的元素,但可以用del刪除整個元組。
元組用小括弧()表示。
tuple1=() #空元組
tuple2=(1,4,3)
tuple3=(1,"ok",[1,2,3]) #類型不同&&嵌套
列表、元組之間的轉換
1、list(tup) 將元組轉換為列表
myTuple=(1,2,3)print(list(myTuple)) #[1, 2, 3]
"""python的內置函數list(tup)可以將元組轉換為列表,並返回該列表
此函數不會修改元組本身,myTuple仍是元組,本身不會變成列表"""
2、tuple(list) 將列表轉換元組
myList=[1,2,3]print(tuple(myList)) #(1, 2, 3)
"""python的內置函數tuple(list)可以將列表轉換為元組,並返回該元組
此函數不會修改列表本身,myList仍是列表,本身不會變成元組"""
這2種方法均不會修改列表、元組本身。
⑩ python的數據類型有哪些
python數據類型主要分為以下六大類:Numbers(數字)、String(字元串)、List(列表、Tuple(元組)、Dictionary(字典)、Set(集合)。
Python的六個標准數據類型中:
不可變數據(3 個):Number(數字)、String(字元串)、Tuple(元組)。
可變數據(3 個):List(列表)、Dictionary(字典)、Set(集合)。
字元串類型:
python的字元串或串(String)是由數字、字母、下劃線組成的一串字元。