1.列表—切片:
列表[num1:num2:num3]
num1,num2都是列表的下標
num3是間隔
返回一個新的列表
例如:
nums = [1,4,2,6,3,7,23,6,3,6,]
print(nums)
nums1 = nums[0:3]
print(nums1)
nums2 = nums[:3]
print(nums2)
nums3 = nums[3:6]
print(nums3)
nums4 = nums[6:]
print(nums4)
nums5 = nums[:]
print(nums5)
nums6 = nums[0:6:2]
print(nums6)
結果:
2.列表—遍歷:
使用while循環遍歷:
例如:
nums = [1,4,2,6,3,]
i=0
while i<len(nums):
? ? print('%s'%snums[i],end=' ')
? ? i+=1
結果:
使用for循環遍歷:
例如:
nums = [1,4,2,6,3,]
for num in nums:
? ? print(num,end=' ')
結果:
3.傳遞:
例如:
a=10
b=a
print('a=%s,b=%s'%(a,b))
print('a=%s,b=%s'%(id(a),id(b)))
a=20
print('a=%s,b=%s'%(a,b))
print('a=%s,b=%s'%(id(a),id(b)))
print('*'*10,'分隔線','*'*10)
a=10
b=10
print('a=%s,b=%s'%(a,b))
print('a=%s,b=%s'%(id(a),id(b)))
b=20
print('a=%s,b=%s'%(a,b))
print('a=%s,b=%s'%(id(a),id(b)))
print('*'*10,'分隔線','*'*10)
ls1 = [1,2,3,]
ls2 = ls1
print('ls1=%s,ls2=%s'%(ls1,ls2))
print('ls1=%s,ls2=%s'%(id(ls1),id(ls2)))
ls1 = [1,2,3,]
ls2 = [1,2,3,]
print('ls1=%s,ls2=%s'%(ls1,ls2))
print('ls1=%s,ls2=%s'%(id(ls1),id(ls2)))
結果:
4.元組介紹:
Python的元組與列表類似,不同之處在于元組的元素不能修改。
元組使用小括號,列表使用方括號。
元組的功能 = 列表不修改的功能
例如:
nums = (1,2,3,)
print(nums)
print(type(nums))
#元組查
print(nums[1])
print(nums.index(2))
print(nums.count(1))
print(len(nums))
print(max(nums))
print(min(nums))
print(1 in nums)
print(4 not in nums)
print(sorted(nums))
print(nums[0:2])#可切片
#遍歷
for num in nums:
print(num,end=' ')
#元組列表轉換
tuNums = (1,2,3,)
lsNums = list(tuNums)
print('%s,%s'%(lsNums,type(lsNums)))
tuNums1 = tuple(lsNums)
print('%s,%s'%(tuNums1,type(tuNums1)))
print('%s,%s,%s,'%(id(tuNums),id(lsNums),id(tuNums1)))
結果:
5.字典:
Python內置了字典:dict的支持,dict全稱dictionary,在其他語言中也稱為map,使用鍵-值(key-value)存儲,具有極快的查找速度。
字典定義:
格式:
字典 = {key1 : value1, key2 : value2 ......}
鍵和值:
鍵必須是唯一的,但值則不必。
值可以取任何數據類型,如字符串,數字或元組。
dict內部存放的順序和key放入的順序是沒有關系的。
例如:
dictFirst = {
? ? 'name':'張',
? ? 'age':19,
? ? 'sex':'男',
? ? 'interest':['play','football','basketball',],
? ? 'address':'china',
? ? }
print(dictFirst)
結果:
字典—增/改:
字典[鍵] = 值
如果次key不存在,就是往字典里新增一個鍵值對;否則,就是修改
由于一個key只能對應一個value,所以,多次對一個key放入value,后面的值會
前面的值沖掉:
例如:
dictFirst = {
? ? 'name':'張',
? ? 'age':19,
? ? 'sex':'男',
? ? 'interest':['play','football','basketball',],
? ? 'address':'china',
? ? }
print(dictFirst)
dictFirst['age'] = 22
dictFirst['hobby'] = 'computer'
print(dictFirst)
結果:
字典—刪
字典.pop(鍵)
根據鍵,刪除指定的值,并將此值放回
del 字典[鍵]
根據鍵,刪除指定的值
字典.clear()
清空字典里的鍵值對
例如:
dictFirst = {
? ? 'name':'張',
? ? 'age':19,
? ? 'sex':'男',
? ? 'interest':['play','football','basketball',],
? ? 'address':'china',
? ? }
print(dictFirst)
dictFirst.pop('name')
print(dictFirst)
del dictFirst['age']
print(dictFirst)
dictFirst.clear()
print(dictFirst)
結果:
字典——查:
值 = 字典[鍵] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?根據鍵查詢值
字典.get(鍵,[默認值]) ? ? ? ? ? ? ? 通過dict提供的get方法,如果key不存在,可以返回None,或者自己指定的value
len(字典) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 計算字典元素個數,即鍵的總數。
str(字典) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?輸出字典可打印的字符串表示。
dict.keys() ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 以列表返回一個字典所有的鍵
dict.values() ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?以列表返回一個字典所有的值
dict.items() ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 以列表返回可遍歷的(鍵, 值) 元組數組
例如:
dictFirst = {
? ? 'name':'張',
? ? 'age':19,
? ? 'sex':'男',
? ? 'interest':['play','football','basketball',],
? ? 'address':'china',
? ? }
print(dictFirst)
print(dictFirst['name'])
print(dictFirst.get('age',['沒有']))
print(dictFirst.get('hobby','沒有'))
print(len(dictFirst))
listKeys = dictFirst.keys()
print(listKeys)
listValues = dictFirst.values()
print(listValues)
listItems = dictFirst.items()
print(listItems)
結果:
字典—判斷:
鍵 in 字典
如果鍵在字典中存在,返回True
否則,返回False
例如:
dictFirst = {
? ? 'name':'張',
? ? 'age':19,
? ? 'sex':'男',
? ? 'interest':['play','football','basketball',],
? ? 'address':'china',
? ? }
print(dictFirst)
print('name' in dictFirst)
print('hobby' in dictFirst)
結果:
遍歷字典:
例如:
dictFirst = {
? ? 'name':'張',
? ? 'age':19,
? ? 'sex':'男',
? ? 'interest':['play','football','basketball',],
? ? 'address':'china',
? ? }
print(dictFirst)
for key in dictFirst:
? ? print('%s:%s'%(key,dictFirst[key]))
print('*'*10,'分隔線','*'*10)
for key in dictFirst.keys():
? ? print('%s:%s'%(key,dictFirst[key]))
print('*'*10,'分隔線','*'*10)
for key,value in dictFirst.items():
? ? print('%s:%s'%(key,value))
結果:
字典—其他方法:
dict.copy()
返回一個新的字典,內容一樣,地址不同
dict.fromkeys(seq[, val]))
創建一個新字典,以序列 seq 中元素做字典的鍵,val 為字典所有鍵對應的初始值
dict.setdefault(key, default=None)
和get()類似, 但如果鍵不存在于字典中,將會添加鍵并將值設為default
如果鍵在字典中,返回這個鍵所對應的值。如果鍵不在字典中,向字典中插入這個鍵,并且以default為這個鍵的值,并返回 default。default的默認值為None
dict.update(dict2)
把字典dict2的鍵/值對更新到dict里