數據類型

數據類型

1、列表

一、li.append() #添加元素到末尾,返回nonepython

二、li.clear() #一個比較危險的方法(QAQ)git

三、li.copy() #複製 不是同一個對象(內存地址不同)數組

四、li.count() #計算列表裏的元素出現的次數app

五、li.extend([]) #往列表裏添加多個值函數

六、li.index() #默認返回元素第一次出現的位置,能夠添加查找範圍code

七、li.insert() #指定索引插入元素對象

八、li.pop() #默認刪除最後一個元素,能夠指定索引刪除排序

九、li.remove() #指定刪除索引

十、li.reverse() #反向列表元素內存

十一、li.sort() #默認ASCII碼排序,按照首字母大小排序

按長度排序

li.sort(key=len) 由短到長

li.sort(key=len,reverse=True) 由長到短

深淺拷貝

拷貝就是拷貝,何來深淺之說?

Python中,對象的賦值,拷貝(深/淺拷貝)之間是有差別的,若是使用的時候不注意,就可能產生意外的結果

其實這個是因爲共享內存致使的結果

拷貝:原則上就是把數據分離出來,複製其數據,並之後修改互不影響。

淺拷貝:數據半共享(複製其數據獨立內存存放,可是隻拷貝成功第一層)

l1 = [1,2,3,[11,22,33]]
l2 = l1.copy()
print(l2) #[1,2,3,[11,22,33]]
l2[3][2]='aaa'
print(l1) #[1, 2, 3, [11, 22, 'aaa']]
print(l2) #[1, 2, 3, [11, 22, 'aaa']]
l1[0]= 0
print(l1) #[0, 2, 3, [11, 22, 'aaa']]
print(l2) #[1, 2, 3, [11, 22, 'aaa']]
print(id(l1)==id(l2)) #Flase

複製對象最外層的內存。 最外層獨立,第二次沒法獨立,會隨l1變更

深拷貝:數據徹底不共享(複製其數據完徹底全放獨立的一個內存,徹底拷貝,數據不共享)

深拷貝就是完徹底全複製了一份,且數據不會互相影響,由於內存不共享。

import copy
l2 = copy.deepcopy(l1)

2、元組

元組只有兩種方法

一、tu.count() #統計元素出現次數

二、tu.index #查找元素索引

3、字符串

一、s.count() #統計元素的個數

二、s.endswith() #判斷是否以什麼結束

三、s.startwith() #判斷是否以什麼開頭

四、s.find() #查找元素索引位置默認返回第一個,若是字符串裏沒有該元素則直接返回-1

五、s.isalpha() #判斷是否全是字母

六、s.isdigit() #判斷是否全是正實數

七、s.islower() #判斷是否全是小寫

八、s.isupper() #判斷是否全是大寫

九、s.lower() #所有轉化成小寫

十、s.upper() #所有轉化成大寫

十一、s.replace('a','1') 默認全部'a'替換成'1'

s.replace('a','1',2) 替換2個'a'爲'1'

十二、s.split() # 指定分隔符對字符串進行切片 ,字符串變成列表

4、字典

一、d.clear() # 刪除字典內全部元素

二、d.copy() #返回一個字典的淺複製

三、 fromkeys() 函數用於建立一個新字典,以序列 seq 中元素作字典的鍵,value 爲字典全部鍵對應的初始值

>>> a = ['1','2','3']>>> d = dict.fromkeys(a)>>> d{'1': None, '2': None, '3': None}>>> d = dict.fromkeys(a,12)>>> d{'1': 12, '2': 12, '3': 12}

四、d.get(key,default=None) # 返回指定鍵的值,若是值不在字典中返回default值

五、key in dict #若是鍵在字典dict裏返回true,不然返回false

六、dict.keys() # 返回一個迭代器,可使用 list() 來轉換爲列表

dict.values()

七、dict.items() # 以列表返回可遍歷的(鍵, 值) 元組數組

八、dict.setdefault(key,default=None) # 和get()相似, 但若是鍵不存在於字典中,將會添加鍵並將值設爲default

九、v.update(dict) # 把字典dict的鍵/值對更新到字典v裏

十、dict.popitem() # 隨機返回並刪除字典中的最後一對鍵和值

十一、d = dict.pop('key','default')

刪除字典給定鍵 key 所對應的值,返回值爲被刪除的值。key值必須給出。 不然,返回default值

5、集合

集合是一個無序的不重複的元素序列

可使用大括號 { } 或者 set() 函數建立集合,注意:建立一個空集合必須用 set() 而不是 { },由於 { } 是用來建立一個空字典。
A = set(123,)

添加元素:

  • s.add(x) #若是元素已存在,則不進行任何操做
  • s.update(x) #能夠添加列表,元組字典等,用逗號隔開

移除元素:

  • s.remove(x) #若是元素不存在,則報錯
  • s.discard(x) #若是元素不存在,則不會發生錯誤
  • s.pop() #隨機刪除一個元素

一、1 in s #在集合內返回Ture,不然返回False

二、s.add(1) # 增長元素

三、s.update({6,7,}) # 增長多個元素

四、s.remove(5) #刪除指定元素

五、s.pop() #依次從左邊刪除元素

六、集合運算

並集 s.union(s1) 全部不重複的打印出來

s|s1

交集 s.intersection(s1) 相交的打印出來

s.&d

差集 s.difference(s1) 我有你沒有
s-s1

s1.difference(s)

交叉補集

s.symmetric_difference(s1)

s^s1

相關文章
相關標籤/搜索