#第一個程式print('SigAi')#python 輸入程式name = input('please enter a name')print(name)#list 是可變有序集合#list之可變L = list(['a','b','c'])print(L)L.append('def')print... ...
#第一個程式
print('SigAi')
#python 輸入程式
name = input('please enter a name')
print(name)
#list 是可變有序集合
#list之可變
L = list(['a','b','c'])
print(L)
L.append('def')
print(L)
a = L.pop() #從列表的最後一個位置刪除元素,並將那個元素返回來
print(L)
print('a=',a)
L1 = list([1,2,3]) #兩個list可以直接進行相加操作,相當於把兩個list拼接起來
L2 = L + L1
print(L2)
L3 = 2 * L2 #對list進行乘操作,相當於對list進行複製
print(L3)
#list之有序 之集合
nlist = list([1,2,3])
print(nlist)
print(nlist[0]) #註意python中list索引號是從0開始
print(nlist[2])
print(nlist[-1])
#print(nlist[-4]) #倒序選元素的時候是從-1開始
len(nlist)
nlist.append(4)
print(nlist)
#tuple 初始化之後不可修改的list就是tuple
T = ('a','b','c')
print(T)
#T.append('d') #tuple 是不可變的,所以不可以往裡面添加元素
#tuple 括弧的歧義
T1 = (1) #當tuple中只有一個元素的時候需要加上逗號,否則並不是tuple類型
print(T1)
print(type(T1))
T2 = (1,)
print(T2)
#tuple之可變當tuple中含有數組的時候,可以單獨對tuple中的數組添加或者減少元素,也就是說tuple並不是一直都不可以變的
T = ('a',[1,2,3])
print(T)
#print(T(1)) #註意tuple在索引的時候不是用括弧,是用中括弧
print(T[1])
T[1].append(4)
print(T)
# dict python中的key-value形式的數據結構,查找速度快
# 空間換時間思想,消耗的記憶體大,但是操作速度快,在dict中存的數據沒有順序
D = {'a':1, 'b':2, 3: 3}
print(D)
print(D['a']) #註意dict索引的時候也是用的中括弧,圓括弧一般是對函數進行操作
print('a' in D)
print('c' in D) #判斷一個鍵是否在dict中,返回值為bool類型
print(D.keys()) #獲取字典中的所有鍵
print(D.get('a')) #獲取字典中對應的值
print(D.get('c')) #用get獲取字典中不存在的鍵的值,會返回一個none,這也可以用來判斷一個鍵是否在某個字典中
print(D.pop(3)) # 刪除字典中的某個元素,並將其值返回
print(D)
D['L'] = 'abc' # 往字典中添加元素
print(D)
D[1] = 123
print(D)
# set dict中key的集合 (set 是類似於dict中的字典集合,也是hashable)
# 由於dict中的key是hashable,也就是key是唯一的,因此set中無重覆的key
L = [1,2,3,'s'] # 註意set和list看起來很像,但是對於list中的所有的元素智能有一種類型,set中可以有多種類型
print(type(L))
s = set(L)
print(L)
s.add('ruyi') # 向集合中添加元素
print(s)
s.remove(1) # 集合中刪除元素
print(s)
#s.add([1,2]) # list是可變類型,不能進行hash
# 入門小坑
#可變類型與不可變類型
a = 'ajsd'
print(id(a))
a = 'sadklaj'
print(id(a))
L = ['a','b','c']
print(id(L))
L.append('d')
print(id(L))
#可變對象與不可變對象,必須搞清楚是改變了對象本身還是中間的一個結果
#變數有類型,對象無類型
#對象是記憶體中存儲數據的實體,變數是對象的指針
L1 = ['a','c','b']
print(L1)
L1.sort()
print(L1)
b = 'nihao'
print(b.replace('n','N'))
print(b)
# python中的引用與拷貝
a = [1,2,3]
b = a[:] #複製a 的內容並指向新的地址
print(id(a) == id(b))
print(b)
print(a.pop())
print(a)
print(b)