鏈結
list
python的列表的特點:
可以隨時新增和刪除元素
可以做的操作有:切片,新增,刪除,查詢,修改,排序
列表元素可以是不同型別,在型別不同的情況下就無法排序
列表是有序的
#定義小馬列表
li=['twilight','pinkiepie','rainbow dash']
插入:insert(self->list,i->int,x->all)->none
li.insert(1,'rarity')
print("after insert:%s"%li)
刪除remove(self->list,x->all)->none
li.remove('twilight')
print("after remove:%s"%li)
pop(self->list,i->int(default:-1))->all 預設刪除最後乙個
li.pop(1)
print("after pop:%s"%li)
deldel li[2] #表示刪除li中的某乙個值
del li #整個li都刪除
排序:sort(self->list,cmp->[all,all](default:none),key->[all](default:none),reverse->bool(default:false))->none
li.sort()
print("after sort:%s"%li)
倒序:reverse(self->list)->none
li.reverse()
print("after reverse:%s"%li)
合併兩個列表:extend(self->list,t->iterator)->none -----t可以是任何迭代器
li.extend(['twilight','rainbow dash'])
print("after extend:%s"%li)
計算元素的個數:count(self->list,x->all)->int 返回元素的個數,-1為沒有找到
print("rainbow dash個數:%s"%li.count('rainbow dash'))
print("li 元素個數:%s"%len(li))
查詢元素的下標:index(self->list,x->all,start->int,stop->int)->int 如果找不到就報錯
print("第二個rainbow dash在**?%s"%li.index('rainbow dash',2))
#遍歷列表,sys.stdout.write為了不換行輸出
import sys
for i in li: #li.__iter__()是list的迭代器,放在這裡效果一樣
sys.stdout.write(i+",")
print()
tuple
元祖是不可修改的列表
ipattr=("127.0.0.1",9999)
#只有兩個方法:index和count
dict
字典是以鍵值對來表示,鍵是唯一的,可以是數字或者字串,值可以是任意重複的。字典在底層是hash,雜湊表。
就把hash想象成字典,字典的目錄就是一張hash表,不可變,乙個數對應乙個鍵,這裡的數是有序的數,拿到數就能找到值,因為它們是關聯的。而如何找到鍵,只要如何找到這個有序的數中的對應值,就能拿到資料。==字典是無序的==
字典的操作:取值,鍵值分離,鍵值查詢,新增,刪除等
#定義小馬字典
查詢:ponys['ts'] #找到twilight
ponys['ponychild'][2]="little rainbow dash"
get(self->dict,key->(str/int/float),default->all)->all 查詢的內容,返回值為找到的內容,沒有找到返回none,default有定義,則返回返回default的內容
print(ponys.get('ts')) # twilight
print(ponys.get('rd')) # none
print(ponys.get('rd',"rainbow dash")) # rainbow dash
設定:setdefault(self->dict,key->key,default->all)->all 在dict中查詢key,找到後返回value,如果沒找到,自動建立乙個,
並返回none;值預設設為none,default為沒有找到的情況下建立的鍵的值,
ponys.setdefault("ts","rainbow dash")
print(ponys)
迭代:for key in ponys:
print(key)
#迭代的結果為所有key,取值看下面
for key in ponys:
print(ponys[key])
提取所有鍵:keys(self->dict)->iterable(dict_keys) ==返回dict_keys:dict_keys不是列表但可以迭代,必須用list強制轉換成列表,才能使用列表的功能==
提取所有值:values(self->dict)->iterable(dict_values) 同上
提取所有的鍵值,形成元祖列表:items(self->dict)->iterable(dict_items) 每一組鍵和值形成元祖,所有的鍵值元祖形成列表,
但是該列表不是真正的列表,需要強制轉換
print(ponys.keys())
print(ponys.values())
print(ponys.items())
#內容#dict_keys(['ponychild', 'ts', 'pp'])
刪除pop(self->dict,key->key,default->all)->all 刪除指定key,返回value,
如果沒找到key,default如果有內容會返回,否則會報錯
更新update(self->dict,other->all,*arg) ->none
print(ponys)
other
fromkey(self->dict,seq->iterator,value->all)->dict
ponys={}
ponys_name=["ts","pp"]
ponys=ponys.fromkeys(ponys_name,3) #3這個值是被ponys_name中的所有key引用
print(ponys)
# 得到
# 集合
set1=
set2=
print(set1,set2)
#### 新增刪除元素
```python
set1.add("aj")
set1.remove("tw")
#通用的輸出函式
def output(*arg):
fm1="是和的"
fm2="的"
if arg[1]==true:
print(fm2.format(arg[0],"是",arg[2],arg[3]))
elif arg[1]==false:
print(fm2.format(arg[0],"不是",arg[2],arg[3]))
else:
print(fm1.format(arg[0],arg[1],arg[2],arg[3]))
#### 並集 |
```python
set3=set1.union(set2) #set3=set1|set2 set1|=set2
output(set3,set1,set2,"並集")
# 得到:
是和的並集
交集 &
set3=set1.intersection(set2) #set3=set1&set2 intersection_update更新物件,沒有返回值
output(set3,set1,set2,"交集")
# 得到:
是和的交集
差集 -
set3=set1.difference(set2) #set1=set1-set2 difference_update
output(set3,set1,set2,"差集")
set3=set2.difference(set1) #set1=set2-set1
output(set3,set2,set1,"差集")
# 得到:
是和的差集
是和的差集
對稱差集 ^
set3=set1.symmetric_difference(set2) #set1=set1-set2|set2-set1 symmetric_difference_update
output(set3,set1,set2,"差集二") #set1=set1^set2
# 得出:
是和的對稱差集
子集set3=
output(set3,set3.issubset(set1),set1,"子集")
output(set1,set1.issubset(set3),set3,"子集")
# 得出:
set3=
output(set3,set3.issubset(set1),set1,"子集")
output(set1,set1.issubset(set3),set3,"子集")
父集set3=
output(set3,set3.issuperset(set1),set1,"父集")
output(set1,set1.issuperset(set3),set3,"父集")
# 得出:
不是的父集
是的父集
復合型別資料
1 記錄型別 自定義record型別 declare type example record type is record name emp.ename type,salary emp.salary type,dno emp.deptno type 宣告record型別變數 example reco...
C 復合型別
陣列 陣列是一種資料格式,能夠儲存多個同型別的資料。宣告陣列的通用格式 typename arrayname arraysize arraysize指定了元素的個數,它必須是整型常量 20或者const值 也可以是表示式,但是其中的所有值在編譯時必須是已知的,所以說arraysize不是變數,變數的...
go 復合型別
1.陣列 1 陣列是擁有固定長度且擁有零個或者多個相同資料型別元素的序列。2 初始值預設為元素型別的零值 3 如果 出現在陣列長度的位置,則陣列的長度由初始化陣列的元素個數決定 4 陣列長度是陣列型別的一部分,3 int 和 4 int 是不同的型別,不能互相賦值 也就是說陣列長度在編譯時就已經確定...