python中幾種常用的數據類型


1.字典

  字典的創建:

  dict1=dict((('name','PIG'),)),其中第一層()代表里面的內容是dict函數的輸入參數。
第二層和第三層代表字典中的各元素,也就是key和value組合的列表,只不過這種列表不
是一種線性列表list,而是hash列表。在dict()和list()的函數調用中,里面用list標識符[]或者()

元組tuple效果一樣。也可以像int()一樣,將其看成強轉換。
  dict2={'name':'PIG'}

  字典的修改:

  dict1={'name':'dog'}
dict1['age']=18
dict1.setdefault('name','cat') 
dict1.setdefault('age',34)
這兩種效果一致

 字典的查找:
dict2={'age': 23, 'name': 'pis','career': 'student'}

print(dict2['name'])

print(list(dict2.keys()))
print(list(dict2.values()))
print(list(dict2.items()))
 print出來的順序與輸入無關,而是根據hash算法自動調整。list()是一個強制類型轉換。
 將keys/values/items類型轉換為list類型。

dict3={'age': 23, 'name': 'pis','career': 'student'}
dict4={'birthday':'94-09-01'}
dict3.update(dic4)

print(dict3)
updata()將key值相同的替換,其他的添加。
key值只能為數值,tuple,字符串等不可變類型,不能為list和dict。


刪除元素
 dict4.clear() # 清空字典
print(dict4)
del dict4['name'] #刪除字典中指定鍵值對
print(dict4)


print(dict4.pop('age')) #刪除字典中指定鍵值對,並返回該鍵值對的值
ret=dict4.pop('age')
print(ret)
print(dict4)
pop操作可返回被pop的value值。
 a = dict4.popitem() #隨機刪除某組鍵值對,並以元組方式返回值
print(a, dict4)

del dict4 #刪除整個字典
print(dict4)


 其他操作以及涉及到的方法
 dict5=dict.fromkeys(['host1','host2','host3'],'test')
 dict6=dict.fromkeys(['host1','host2','host3'],['test1','tets2'])

 #print(dic6)

#dic6['host2']='abc'
#print(dic6)

這兩個的區別是改變某一個key值時,第一個不影響其他的,第二個一起改變。因為字符串是不可變類型,list
是可變類型。
dict可嵌套dict。
sorted(dict6.items())可對無序的hash順序按照key值排序。
對dict和list的for運算
for i in dic5:

print(i,dic5[i])

for i,v in dic5.items():
print(i,v)



2 string操作

a='dad'

b='mom'
c=a+b 加操作
d=a*5 乘操作
print('helloworld'[2:])切片操作
關鍵字 in
# print(123 in [23,45,123])
# print('e2l' in 'hello')輸出True和False

格式化輸出
print('%s is a good teacher'%'alex')
msg='''
----------info of %s----------
Name: %s
Age : %d
Job : %s
Salary: %f
You will be retired in %s years
----------end---------
''' % (name, name, age, job, salary, 50-age)

 
 
        
c=# print(c)連接join方法 
''.join([a,b,d])



#摘一些重要的字符串方法

#1 print(st.count('l'))
# print(st.center(50,'#')) # 居中
# print(st.startswith('he')) # 判斷是否以某個內容開頭
# print(st.find('t'))
# print(st.format(name='alex',age=37)) # 格式化輸出的另一種方式 待定:?:{}
# print('My tLtle'.lower())
# print('My tLtle'.upper())
# print('\tMy tLtle\n'.strip())
# print('My title title'.replace('itle','lesson',1))
# print('My title title'.split('i',1))
具體可看string類源碼

3.list操作

list的切片操作
#a=['xiaohong', 'xiaoming', 'xiaoliang', 'xiaofang', 'xiaoli']
# print(a[2:-1])
# print(a[1:])
# print(a[1:-1])
# print(a[1:-1:1])
# print(a[1::2])
# print(a[3::-2])

# a.append('xiaoliu')
# print(a)
# a.insert(1,'xiaoxiong')
# print(a)


a[1] = 'haidilao'
# print(a)
# a[1:3] = ['da','ads']
# print(a)


# a.remove('xiaoming')
# print(a)

# b = a.pop(1)
#
# print(a)
# print(b)

# del(a[0])
# print(a)
# del(a)
# print(a)
# a.pop(1)
# print(a)

其他操作
#t = ['to', 'on', 'be', 'to', 'to', 'to'].count('to')

# print(t)
#
# a = [1, 2, 3]
# b = [4, 5, 6]
# a.extend(b)
# print(a)
# print(b)
# print(a.index(1))
# a.reverse()
# print(a)

# x = [4, 6, 2, 1, 7, 9, ]
# x.sort()
# print(x)
#t = ['to', 'on', 'be', 'to', 'to', 'to']
# t.sort(reverse=True)
# print(t)
# print(t.count('dad'))
# print("haide"in t)
# b = t.copy()
# print(b)

主要關注三種重要的數據類型list tuple dictionary的常用操作



 




 
 
 


 
 
 








 
 

 

  

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM