常見的字符串操作
一部分字符串操作的總結,比較基礎。目錄:
使用str.split() 切分數據
將 datetime 類型轉化為字符串類型
字符串的合并操作
使用 str.strip() 去除字符串前面和后面所有的字符串
替代字符串中的某些字符串為另外的字符串
Python 中的 i++,i+
下面簡單的演示。
使用 str.split() 切分數據
import?pandas?as?pd
from?pandas?import?Series,DataFrame
man?=?pd.DataFrame({
????'data':['張三|男','李四|男','王五|男']
})
man

#?使用str.split()?把數據分成兩列
man?=?man['data'].apply(lambda?x?:Series(x.split('|')))
man

將 datetime 類型轉化為字符串類型
#?將datetime類型轉化為字符串類型
from?datetime?import?datetime
stamp?=?datetime(2019,5,1)
stamp
datetime.datetime(2019,?5,?1,?0,?0)
str_stamp=?str(stamp)
str_stamp
'2019-05-01?00:00:00'字符串的合并操作
使用 join() 連接字符串數組
# join():連接字符串數組。將字符串、元組、列表、Series中的元素以指定的字符(分隔符)連接生成一個新的字符串
a=['1','2','3','4','5']
text?=?'??'.join(a)
text
'1??2??3??4??5'
使用 + 連接字符串
#?使用加號
x?=?'a'?+?'b'
x
'ab'
使用 format() 將多個字符串合并,主要用在變量輸出上
x?=?'i?am?{1}?and?{0}?years?old'.format(30.,?'Tony')
x
'i?am?Tony?and?30.0?years?old'
使用 Pandas 自帶的 cat() 函數
#??Series.str.cat(others=None,??#?要合并的另外一個對象,如果為空則將左側對象組合
#?????????????????sep=None,?????#?合并的分隔符,默認為空
#?????????????????na_rep=None)??#?如果遇到NA值的處理方式,默認忽略
EG?=?pd.Series(['a',?'b',?'c']).str.cat(sep=';')
EG
'a;b;c'
EG?=?pd.Series(['a',?'b',?'c']).str.cat(['A',?'B',?'C'],?sep='@@')
EG
0??? a@@A
1????b@@B
2????c@@C
dtype:?object
使用 str.strip() 去除字符串前面和后面所有的字符串
#?str.strip([chars]);去除字符串前面和后面的所有設置的字符串,默認為空格
st?=?"???hello????"
st?=?st.strip()
print(st?+?'word')
helloword
#?刪除字符串'l,?o'
st?=?st.strip('l,?o')
print(st)
he
替代字符串中的某些字符串為另外的字符串
#?str.replace(old,?new[,?max])
# old --?將被替換的子字符串。
# new --?新字符串,用于替換old子字符串。
#?max?--?可選字符串,?替換不超過?max?次
st?=?"hello"
st?=?st.replace('l',?'a',?1)
st
'healo'
#?替換字符串中的某些子串,可以用正則表達式來匹配被選子串。
#?re.sub(pattern,?repl,?string,?count=0,?flags=0)
# pattern:表示正則表達式中的模式字符串;
# repl:被替換的字符串(既可以是字符串,也可以是函數);
# string:要被處理的,要被替換的字符串;
# count:匹配的次數, 默認是全部替換
import?re
st?=?"hello?2019"
st?=?re.sub("([0-9]+)","word",st)
print(st)
hello?word
Python 中的 i++,i+
順便在這篇基礎下面總結下 Python 中的 i++,i+ 這類寫法和 Java 不一樣。在新手入門時會有點疑問,這里列一下。
i+1
這種都是一樣的寫法,沒什么問題,很好理解。
for?i?in?range(3):
????i=i+1
????print(i)
1
2
3
i+
i+ 就是 Python 中的自增寫法。相當于其他語言的 ++i。
for?i?in?range(3):
????i+=5
????print(i)
5
6
7
i-
Python 中的自減寫法。
for?i?in?range(3):
????i-=5
????print(i)
-5
-4
-3
++i
Python 中的 ++i,僅僅是作為判斷運算符號,類似數學中的負負得正。
#?體現在這個案例中,就是對結果值沒影響
for?i?in?range(3):
????++i
????print(i)
0
1
2
i++
Python 中不支持這類寫法,所以直接報錯。
for?i?in?range(3):
????i++
????print(i)
??File?"" ,?line?2
????i++
???????^
SyntaxError:?invalid?syntax評論
圖片
表情
