溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python中對(duì)字符串進(jìn)行操作的方法有哪些

發(fā)布時(shí)間:2021-02-04 15:22:06 來(lái)源:億速云 閱讀:132 作者:Leah 欄目:開(kāi)發(fā)技術(shù)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)Python中對(duì)字符串進(jìn)行操作的方法有哪些,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

1. 字符串的翻轉(zhuǎn)

利用切片

str1 = "hello world!"
print(str1[::-1])

利用reduce函數(shù)實(shí)現(xiàn)

from functools import reduce
str1 = "hello world!"
print(reduce(lambda x, y : y+x, str1))

2. 判斷字符串是不是回文串

str1 = "123455"
def fun(string):
  print("%s" % string == string[::-1] and "YES" or "NO")
if __name__ == '__main__':
  fun(str1)

3. 單詞大小寫

str1 = "i love you!"
print(str1.title())# 單詞首字母大寫
print(str1.upper())# 所有字母大寫
print(str1.lower())# 所有字母小寫
print(str1.capitalize())# 字符串首字母大寫

4. 字符串的拆分

可以使用split()函數(shù),括號(hào)內(nèi)可添加拆分字符,默認(rèn)空格,返回的是列表

str1 = "i love you!"
print(str1.split())
# print(str1.split('\')) 則是以\為分隔符拆分

去除字符串兩邊的空格,返回的是字符串

str1 = " i love you! "
print(str1.strip())

5. 字符串的合并

返回的是字符串類型

str1 = ["123", "123", "123"]
print(''.join(str1))

6. 將元素進(jìn)行重復(fù)

str1 = "python"
list1 = [1, 2, 3]
# 乘法表述
print(str1 * 2)
print(list1 * 2)
# 輸出
# pythonpython
# [1, 2, 3, 1, 2, 3]

#加法表述
str1 = "python"
list1 = [1, 2, 3]
str1_1 = ""
list1_1 = []
for i in range(2):
  str1_1 += str1
  list1_1.append(list1)
print(str1_1)
print(list1_1)
# 輸出同上

7. 列表的拓展

# 修改每個(gè)列表的值
list1 = [2, 2, 2, 2]
print([x * 2 for x in list1])
# 展開(kāi)列表
list2 = [[1, 2, 3], [4, 5, 6], [1]]
print([i for k in list2 for i in k])
# 輸出 [1, 2, 3, 4, 5, 6, 1]

8. 兩個(gè)數(shù)交換

x = 1
y = 2
x, y = y, x

9. 統(tǒng)計(jì)列表中元素出現(xiàn)的頻率

調(diào)用collections中的Counter類

from collections import Counter
list1 = ['1', '1', '2', '3', '1', '4']
count = Counter(list1)
print(count)
# 輸出 Counter({'1': 3, '2': 1, '3': 1, '4': 1})
print(count['1'])
# 輸出 3
print(count.most_common(1))# 出現(xiàn)最多次數(shù)的 
# [('1', 3)]

10. 將數(shù)字字符串轉(zhuǎn)化為數(shù)字列表

str1 = "123456"
# 方法一
list_1 = list(map(int, str1))
#方法二
list_2 = [int(i) for i in str1]

11. 使用enumerat()函數(shù)獲取索引數(shù)值對(duì)

str1 = "123456"
list1 = [1, 2, 3, 4, 5]
for i, j in enumerate(str1):
  print(i, j)
'''
輸出
0 1
1 2
2 3
3 4
4 5
5 6
'''
str1 = "123456"
list1 = [1, 2, 3, 4, 5]
for i, j in enumerate(list1):
  print(i, j)
# 輸出同上

12. 計(jì)算代碼執(zhí)行消耗的時(shí)間

import time
start = time.time()
for i in range(1999999):
  continue
end = time.time()
print(end - start)
# 輸出 0.08042168617248535

13. 檢查對(duì)象的內(nèi)存占用情況

sys.getsizeof()函數(shù)

import sys
str1 = "123456"
print(sys.getsizeof(str1))
# 輸出 55

14. 字典的合并

dirt1 = {'a':2, 'b': 3}
dirt2 = {'c':3, 'd': 5}
# 方法一
combined_dict = {**dirt1, **dirt2}
print(combined_dict)
# 輸出 {'a': 2, 'b': 3, 'c': 3, 'd': 5}
# 方法二
dirt1 = {'a':2, 'b': 3}
dirt2 = {'c':3, 'd': 5}
dirt1.update(dirt2)
print(dirt1)
# 輸出同上

15. 檢查列表內(nèi)元素是不是都是唯一的

list1 = [1, 2, 3, 4, 5, 6]
print('%s' % len(list1) == len(set(list1)) and "NO" or "YES")

上述就是小編為大家分享的Python中對(duì)字符串進(jìn)行操作的方法有哪些了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI