python系列-數(shù)據(jù)結(jié)構(gòu)

字符串

  • 用單引號(hào)'或雙引號(hào)"包圍起來(lái)
  • 使用反斜杠\表示轉(zhuǎn)義
  • +實(shí)現(xiàn)字符串拼接,*重復(fù)一個(gè)字符串內(nèi)容
  • 使用innot in判斷一個(gè)字符串是否包含另一個(gè)字符串
  • 使用[][:]取出某個(gè)字符或某些字符

python中一些字符串處理方法

str1 = "hello python"
# 計(jì)算長(zhǎng)度
print(len(str1))
# 首字母大寫
print(str1.capitalize())
# 每個(gè)單詞首字母大寫
print(str1.title())
# 所有字母大寫
print(str1.upper())
# 查找子串位置,也可以使用index,但是index找不到會(huì)異常
print(str1.find('py')
print(str1.find('shit'))
# 以指定開頭
print(str1.startwith('he'))
# 以指定結(jié)尾
print(str1.endwith('on'))
# 字符串以指定寬度居中并在兩側(cè)填充指定字符
print(str1.center(50,'*'))
# 字符串以指定寬度靠右放置,左側(cè)填充指定字符
print(str1.rjust(50,'*'))
# 是否由數(shù)字構(gòu)成
print(str1.isdigit())
# 是否由字母構(gòu)成
print(str1.isalpha())
# 是否由數(shù)字和字母構(gòu)成
print(str1.isalnum())
# 修剪左右兩側(cè)空格之后的拷貝
print(str1.trip())

列表

  • list是一個(gè)結(jié)構(gòu)化,非標(biāo)量類型
  • 可以通過(guò)索引進(jìn)行標(biāo)識(shí)
  • 可以使用for循環(huán)對(duì)其遍歷,也可以使用[][:]取出一個(gè)或多個(gè)元素
  • 可以使用sorted函數(shù)進(jìn)行排序
list1 = [1,3,5,7,9]
list1.append(200)
list1.insert(1,400)
list1 += [100, 200]
print(list1)
print(len(list1))

if 3 in list1:
    list1.remove(3)

if 1234 in list1:
    list1.remove(1234)

# 從指定位置刪除元素
list1.pop(0)
# 根據(jù)key指定排序規(guī)則,可以傳入一個(gè)函數(shù)
list1 = sorted(list1, key=len)
# 清空元素
list1.clear()
# 列表生成式語(yǔ)法來(lái)創(chuàng)建列表
f = [x for x in range (1, 10)]
print(f)
f = [x + y for x in 'ABCDE' for y in '1234567']
print(f)
# 查看占用字節(jié)數(shù)
print(sys.getsizeof(f))
# 通過(guò)yield關(guān)鍵字將普通函數(shù)改造成生成器函數(shù)
def fib(n):
    a, b = 0, 1
    for _ in range(n):
        a, b = b, a+b
        yield a

for val in fib(20):
    print(val)

元組

  • 可以用一個(gè)變量存儲(chǔ)多個(gè)數(shù)據(jù)
  • 元組的元素<font color=red>不能修改</font>
  • 可以存儲(chǔ)不同的數(shù)據(jù)類型
  • 重新引用了新的元組,舊的會(huì)被回收
  • 線程安全,如果多線程不需要修改,建議使用元組
  • 一個(gè)方法要返回多個(gè)值,也可以使用元組
  • 元組創(chuàng)建時(shí)間和占用空間優(yōu)于列表
t = ('xnzone', 'python', 12, False, 'world')
print(t)
print(t[0])
for m in t:
    print(m)
# 元組轉(zhuǎn)換為list
person = list(t)
print(person)
# list轉(zhuǎn)為元組
fruit_list = ['apple', 'banana']
fruit_tuple = tuple(fruit_list)
print(fruit_tuple)

集合

  • 跟數(shù)學(xué)上的集合是一致的,可以進(jìn)行交、并、差運(yùn)算
set1 = {1,2,3,3,3,2}
print(set1)
print(len(set1))
set2 = set(range(1,10))
set3 = set((1,2,3,3,2,1))
print(set2)
print(set3)
set4 = {num for num in range(1,100) if num % 3 == 0 or num % 5 == 0}
print(set4)
# 增刪改查
set1.add(4)
set1.add(5)
set2.update([11,12])
set2.discard(5)
if 4 in set2:
    set2.remove(4)
print(set1, set2)
print(set3.pop())
print(set3)
# 交 并 差
print(set1 & set2)
print(set1 | set2)
print(set1 - set2)
print(set1 ^ set2)
# 判斷子集和超集
print(set2 <= set1)
print(set3 <= set1)
print(set1 >= set2)
print(set1 >= set3)

字典

  • key-value模式
  • 可以存儲(chǔ)任意類型的對(duì)象
item = {'a':1,'b':2,'c':3}
item1 = dict(one=1,two=2,three=3,four=4)
item2 = dict(zip('a','b','c'), '123')
item3 = {num: num ** 2 for num in range(1,10)}
print(item1, item2, item3)
print(item['a'])
for key in item:
    print(f'{key}: {item[key]}')
# 更新
item['a'] = 10
item.update(a=12,b=12)
# get方法可以獲取對(duì)應(yīng)值也可以設(shè)置默認(rèn)值
print(item.get('d',4))
# 刪除
print(item.popitem())
print(item.pop('a',12))
item.clear()

參考文獻(xiàn)

python一百天

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容