字符串
- 用單引號(hào)
'或雙引號(hào)"包圍起來(lái) - 使用反斜杠
\表示轉(zhuǎn)義 -
+實(shí)現(xiàn)字符串拼接,*重復(fù)一個(gè)字符串內(nèi)容 - 使用
in和not 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()