python字串、字典操作,檔案讀寫

來源:互聯網
上載者:User

標籤:letters   強制類型轉換   strip   替換   指標   擷取   dig   info   cas   

一、字串操作:
name = ‘aabc,dddd,a‘
name1 = ‘q ‘
# print(name[3]) #字串也可以取下標
# print(name.capitalize()) #把字串首字母大寫
# print(name.center(11,‘*‘)) #把name放中間,字串少於11,則用*補全
# #print(name.index(‘p‘)) #返回字串的索引,查不到時會報錯,substring not found
# print(name.isalnum()) #只能有數字或字母,返回Ture,包含其他符號或標點、空格則False
# print(name.isalpha()) #字串必須為英文或漢字,返回True
print(name.istitle()) #判斷是不是標題(首字母大寫)
# print(name)

#**********************************
# print(name.count(‘s‘)) #查詢出現的次數,沒有則返回0

# print(name.endswith(‘zuo‘)) #判斷是否zu結束,返回布爾值
# print(name.startswith(‘h‘)) #判斷是否開頭,返回布爾值

# print(name.upper()) #都變成大寫
# print(name.lower()) #都變成小寫
# print(name.find(‘1‘)) #返回字串的索引,查不到時返回-1,建議使用
# print(name.isdigit()) #判斷是否為純數字 ,返回布爾值
# print(name.isidentifier()) #判斷它是不是一個合法的變數名,
# print(name1.isspace()) #判斷是否全是空格

# print(name.strip()) #去掉字串兩邊的東西,不帶參數則預設去掉兩邊的空格和分行符號\n
# print(name.lstrip()) #只去掉左邊的
# print(name.rstrip()) #只去掉右邊的

print(name.replace(‘abc‘,‘x‘)) #替換字串,把前面的替換為後面的,預設是全部替換,name.replace(‘abc‘,‘x‘,2)2表示替換幾個地方
print(name.zfill(19)) #在前面補0,補滿19個字元

print(name.split(‘,‘)) #1.分割字串,分割符預設是空格和換行,‘,‘做為分割符 2.把字串變成一個list
#name.split(‘,‘,1) 1表示只分割1次,後面的做為一個元素

stus = [‘aabc‘, ‘dddd‘, ‘a‘]
print(‘*‘.join(stus)) #1.把list變成字串 2.以*字串串連
#********************************

import string
print(string.ascii_letters) #所有的大寫+小寫字母
print(string.ascii_lowercase) #所有小寫字母
print(string.ascii_uppercase) #所有大寫字母
print(string.digits) #所有數字
print(string.punctuation) #所以特殊字元


二、字典
#非空即真,非0即真
#實現同樣的功能,代碼越少越好
#假 空list,Null 字元串,空元組,0 ,None
# not 取反
# a = []
# b = ‘ ‘
# c = ()
# d = 0
# e = None
# if e:
# print(1)
# else:
# print(0)
# import this

#字典 k - v 字典無序
shenyang = {‘name‘:‘瀋陽‘,
‘age‘:18,
‘sex‘:‘不知道‘,
‘addr‘:‘天通苑‘,
‘qq‘:123456,
‘email‘:‘[email protected]‘
}
print(shenyang)

#增加
shenyang[‘女朋友‘] = ‘很漂亮‘

shenyang[‘age‘] = 38 #k不管是否存在,不存在則增加,存在則修改
print(shenyang)
shenyang.setdefault(‘age‘,39) #不存在,則增加,如果k已經存在,則不會修改,
print(shenyang)

#修改
shenyang[‘女朋友‘] = ‘很漂亮‘

#刪除
# shenyang.pop(‘女朋‘) #刪除時key不存在,會報錯
# del shenyang[‘ag‘] #刪除時key不存在,會報錯

#查,取值
print(shenyang[‘addr‘]) #key 不存在,報錯
print(shenyang.get(‘email‘)) #key 不存在,返回None
print(shenyang)
print(shenyang.get(‘emailww‘))
#shenyang.clear() #清空字典
#shenyang.popitem() #隨機刪除一個key
yaoyuan = {‘chouyan‘:‘1‘}
shenyang.update(yaoyuan) #把字典yaoyuan加入到另一個字典shenyang,有重複,則更新值
print(shenyang.values())
print(shenyang.keys())

for i in shenyang: #預設迴圈的是key
print(i)

for i in shenyang.items(): #預設迴圈的是key
print(i)
for i,j in shenyang.items(): #迴圈的是key和valus
print(i,j)

d = {‘a‘:1,‘b‘:2}
print(d.items())

for k,v in d.items(): #會字典轉換成list,效率不高
print(k,v)

for k in d: #列印key和value的值,推薦使用這種方式,速度快
print(k,d.get(k))

info = [
{
‘xiaohei‘:
{
‘money‘:10000,
‘cars‘:[‘Ben-z‘,‘audi‘,‘BMW‘],
‘info‘: {
‘phone‘:186212312,
‘age‘:36,}
}
},
{‘xiaohong‘:
{
‘house‘: {
‘朝陽‘:2,
‘海澱‘:3,
‘昌平‘:5
},
‘lan‘:[‘ch‘,‘en‘,‘jp‘],
}
}
]
print(info)
info[0][‘xiaohei‘][‘cars‘].append(‘bsj‘) #car裡加bsj
print(info)
info[0][‘xiaohei‘][‘info‘][‘addr‘] = ‘aa‘
info[1][‘xiaohong‘][‘house‘][‘海澱‘] += 2
print(info[1][‘xiaohong‘][‘house‘][‘海澱‘])
print(info)
info[1][‘xiaohong‘][‘sex‘] = ‘女‘
print(info)

 

三、檔案讀寫
#1、開啟檔案
#2、對化讀/寫
#3、關閉檔案
#f = open(‘abc中文.txt‘,encoding=‘utf-8‘)
#python2 裡用file,python3裡沒有這個方法
f = open(‘abc中文.txt‘,‘a+‘)
#檔案指標************
# print(‘readline‘,f.readline()) #讀取檔案的一行資料
# print(‘readlines‘,f.readlines()) #讀取所有檔案內容,返回一個list,元素是每行的資料,大檔案時不要用,因為會把檔案內容都讀到記憶體中,記憶體不夠的話,會把記憶體撐爆
# print(‘read‘,f.read()) #擷取檔案裡面的所有內容

f.write(‘abc‘)
f.close()
f = open(‘abc中文.txt‘,‘a+‘)
print(f.read())

#檔案的三種模式 唯讀,寫入模式,追加模式
#r 預設唯讀模式,只能讀,不可寫,檔案不存在會報錯
#r+ 讀寫入模式,可讀,可追加,檔案不存在會報錯

#w 寫入模式,不可讀,會覆蓋以前檔案內容,檔案不存在則建立
#w+ 寫讀模式,可讀,會覆蓋以前檔案內容,檔案不存在則建立

#a 追加模式 不可讀; 不存在則建立;存在則只追加內容,檔案開啟指標在最後,所以讀不到內容
#a+ 追加讀模式 可讀; 不存在則建立;存在則只追加內容,

#只要和r相關的,檔案不存在則報錯,
# 只要和w有關的,檔案內容會清空


f.seek(0)
print(‘read‘,f.read())

names = [‘1‘,‘2‘,‘3‘,‘4‘,‘5‘]

for name in names:
f.write(name + ‘\n‘)
f.writelines(names)

 

五、list切片

#切片,list取值的一種方式,切片,同樣適用於字串*******************************
stus = [‘lxy‘,‘zyf‘,‘wdz‘,‘n1‘,‘wy‘,‘gfw‘]
import string
# print(stus[1:3]) #顧頭不顧尾
# print(stus[:3]) #從最前開始取值
# print(stus[-1]) #-1表示最後一個元素
# print(stus[1:]) #取值到最後
# print(stus[:]) #取整個list
# print(stus) #取整個list

print(string.digits.split())
nums = list(string.digits) #強制類型轉換
print(nums)
print(nums[0:11:2]) #步長,預設是1
print(nums[9:0:-1]) #從後往前取值,預設是1

a = ‘abcdef‘
print(a[1:3])

 

六、元組
# 定義後不可變 index 與count方法
city = (‘aa‘,1,2,2,2,2)
print(city)
print(city[0])
print(city.index(2))
print(city.count(2))

# s = ‘a,b,c,d‘
# print(s)
# new_s = s.replace(‘a‘,‘111‘)
# print(s)
# print(new_s)

 

python字串、字典操作,檔案讀寫

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.