Python 基礎筆記——變數的操作方法

codelife發表於2019-08-25

字串方法

注:字串可以切片,但是字串是不可變的,因此不可以分片賦值

1、find(str,start)

find方法可以在一個字串中查詢子串。它返回子串所在位置的最左端索引。如果沒有找到則返回-1。區分大小寫

>>> title = 'Python is the best language in the world'
>>> title.find('python')
-1
>>> title.find('the',10)
10
>>> title.find('the',11)
31

2、join(iterable)

join用特定符號連線序列中的元素。需要被連線的序列元素都必須是字串

>>> '-'.join({'name' : 'chenyy', 'age' : 18})
'name-age'

3、split(str,num)

split透過指定分隔符對字串切片成列表,num指定分割次數

注:如果不提供任何分隔符,程式會把所有空格作為分隔符

>>> str = 'to be or not to be'
>>> str.split(' ')#引號中間有空格,沒有會報錯。可以不加引號,不填寫內容
['to', 'be', 'or', 'not', 'to', 'be']

4、lower()

lower方法把字串轉換為小寫

>>> 'Hello World'.lower()
'hello world'

5、title()

title方法將單詞首字母轉換為大寫

>>> 'hello world'.title()
'Hello World'

6、replace()

replace方法返回某字串的所有匹配項被替換之後的得到的字串,沒有匹配項則返回原字串

>>> 'this is test'.replace('test', 'demo')
'this is demo'

7、strip()

strip方法去除字串兩側指定字元,返回處理後的字串

>>> '-*- coding:utf-8 -*-'.strip('-*-')
' coding:utf-8 '
>>>

8、swapcase()

字串大小寫轉換

>>> "I love Python".swapcase()
'i LOVE pYTHON'

9、isalnum()

檢查字串是否為字母或數字,返回布林值

>>> 'python 666'.isalnum()
False
>>> 'python'.isalnum()
True
>>> '666'.isalnum()
True

10、isalpha()

檢查字串是否全為字母,返回布林值

>>> 'python123'.isalpha()
False
>>> 'python'.isalpha()
True

11、isdigit()

檢查字串是否全部為數字,返回布林值

>>> '123'.isdigit()
True
>>> 'python123'.isdigit()
False

12、startswith(str,start,end)

檢查是否已指定字串開頭,返回布林值

>>> 'to be or not to be'.startswith('to')
True

13、endswith(str,start,end)

檢查是否已指定字串結尾,返回布林值

>>> 'to be or not to be'.endswith('be')
True

列表方法

1、append(value)

append方法用於在列表末尾追加新的物件,它並不是返回一個修改過的新列表,而是直接修改原來的列表

>>>lst = [1,2,3]
>>>lst.append(4)
>>>lst
[1,2,3,4]

2、count(value)

count方法統計某個元素在列表中出現的次數,區分大小寫。(count方法還適用於元組和字串)

>>>x = [[1, 2], 1, 1, [1, [1, 2]]]
>>>x.count(1)
2
>>>x.count([1, 2])
1

3、extend(iterable)

extend方法可以在列表的末尾一次性追加另一個序列中的所有值。這個操作看起來很像連線操作(只有兩種型別相同的序列才能進行連線操作),兩者最主要的區別在於:extend方法修改了被擴充套件的序列,而原始的連線操作則會返回一個全新的列表

>>>a = [1, 2, 3]
>>>b = [4, 5, 6]
>>>a.extend(b)
>>>a
[1, 2, 3, 4, 5, 6]

可以使用分片賦值來實現同樣的效果:

>>>a = [1, 2, 3]
>>>b = [4, 5, 6]
>>>a[len(a): ] = b
>>>a
[1, 2, 3, 4, 5, 6]

4、index(value)

index方法用於從序列中找出某個元素第一個匹配項的索引位置。沒有找到會引發異常(有序序列都可使用)

>>> lst = [1, 2, 3]
>>> lst.index(2)
1

5、insert(index,value)

insert方法用於將物件插入到列表中,如果索引不存在於列表中則在該列表末尾插入

>>> lst = [1, 3, 4]
>>> lst.insert(1, 'two')
>>> lst
[1, 'two', 3, 4]

6、pop(index)

pop方法會移除列表中的一個元素(預設為最後一個),並返回該元素的值

注:pop方法是唯一一個既能修改列表又返回元素值的列表方法

>>> lst = [1,2,3,4,5]
>>> lst.pop()
5
>>> lst.pop(1)
2

7、remove(value)

remove方法用於移除列表中某個元素的第一個匹配項。remove是一個沒有返回值的原位置改變方法

>>> lst = ['to', 'be', 'or', 'not', 'to', 'be']
>>> lst.remove('to')
>>> lst
['be', 'or', 'not', 'to', 'be']

8、reverse()

reverse方法將列表中的元素反向存放。原位置改變,不會生成新的列表,沒有返回值

>>> lst = [1, 2, 3, 4]
>>> lst.reverse()
>>> lst
[4, 3, 2, 1]

9、sort()

sort方法用於在原位置對列表排序。

注:排序的列表中只能有一種型別的變數,出現一種以上會報錯

>>> lst = ['one', 'two', 'three', 'four']
>>> id(lst)
1652726159944
>>> lst.sort()
>>> lst
['four', 'one', 'three', 'two']
>>> id(lst)
1652726159944

字典方法

1、clear()

clear方法清除字典中所有的項。這個是原地操作,無返回值

>>> d = {'name': 'chenyy', 'age': 18}
>>> id(d)
1652725275168
>>> d.clear()
>>> d
{}
>>> id(d)
1652725275168

2、copy()

copy方法返回一個具有相同鍵-值對的新字典(這個方法實現的是淺複製)

>>> d = {'name': 'chenyy', 'age': 18}
>>> d1 = d.copy()
>>> id(d)
1652726134608
>>> id(d1)
1652725275168
>>> d1
{'name': 'chenyy', 'age': 18}

3、fromkeys(iterable[, default])

fromkeys方法使用給定的鍵建立新的字典,每個鍵都對應一個預設的值None

>>> dict().fromkeys(['name', 'age'])
{'name': None, 'age': None}
>>> dict.fromkeys(['name', 'age'])
{'name': None, 'age': None}
>>> {}.fromkeys(['name','age'], 'null')
{'name': 'null', 'age': 'null'}

4、get(key)

get方法獲取鍵對應的值。當get訪問一個不存在的鍵時,沒有任何異常,而得到自定義的返回值,預設返回值為None

>>> d = {'name': 'chenyy', 'age': 18}
>>> d.get('sex')
>>> d.get('sex','boy')
'boy'

5、items()

items方法將字典所有的項以可迭代物件dict_items返回,列表中的每一項都表示為(鍵,值)對的形式

>>> d.items()
dict_items([('name', 'chenyy'), ('age', 18)])

6、keys()

keys方法將字典中所有的鍵以可迭代物件dict_keys返回

>>> d.keys()
dict_keys(['name', 'age'])

7、values()

values方法將字典中所有的值以可迭代物件dict_values返回

>>> d.values()
dict_values(['chenyy', 18])

8、pop(key)

pop方法返回對應鍵的值,然後將這個鍵值對從字典中移除

>>> d.pop('age')
18
>>> d
{'name': 'chenyy'}

9、popitem()

popitem方法隨機從字典中彈出一個鍵值對,以元組形式返回,然後將這個鍵值對刪除

>>> d
>>>d = {'name': 'chenyy', 'age': 18, 'sex': 'boy'}
>>> d.popitem()
('sex', 'boy')

10、setdefault(key[,default=None])

setdefault方法在某種程度上類似於get()方法,能夠獲取給定鍵對應的值,除此之外,setdefault還能在字典不含有給定鍵的情況下設定相應的鍵值(預設為None)

>>> d = {}
>>> d
{}
>>> d.setdefault('name','chenyy')
'chenyy'
>>> d
{'name': 'chenyy'}

11、update(iterable)

update方法可以把以鍵值對形式存在的可迭代物件和呼叫的字典物件進行合併,若有相同的鍵則會進行覆蓋

>>> d = {'sex': 'boy'}
>>> id(d)
1782678051288
>>> d.update([('name', 'chenyy'), ('age', 18)])
>>> d
{'sex': 'boy', 'name': 'chenyy', 'age': 18}
>>> id(d)
1782678051288

集合方法

(frozenset(),不可變集合,內容不可更改,其它和集合一樣)

集合裡面不可存可變物件,如list,dict

請注意:union(), intersection(), difference() 和 symmetric_difference() 的非運算子(non-operator,就是形如 s.union()這樣的)版本將會接受任何 iterable 作為引數。相反,它們的運算子版本(operator based counterparts)要求引數必須是 set。

1、defference

返回只在第一個集合中出現的元素(差集,用【-】表示)

>>> set1 = {1, 2, 3, 4, 5, 6}
>>> set2 = {4, 5, 6, 7, 8, 9}
>>> set1 - set2
{1, 2, 3}

2、intersection

返回兩個集合中共有的元素(交集,用【&】表示)

>>> set1 = {1, 2, 3, 4, 5, 6}
>>> set2 = {4, 5, 6, 7, 8, 9}
>>> set1 & set2
{4, 5, 6}

3、union

返回兩個集合中所有的元素(並集,用【|】表示)

>>> set1 = {1, 2, 3, 4, 5, 6}
>>> set2 = {4, 5, 6, 7, 8, 9}
>>> set1 | set2
{1, 2, 3, 4, 5, 6, 7, 8, 9}

4、symmetric_difference

返回不同時出現在兩個集合裡的所有元素

>>> s1 = {1,2,3}
>>> s2 = {2,3,4}
>>> s1 ^ s2
{1, 4}

5、pop()

彈出集合元素,集合為空則丟擲異常

6、add()

在集合中新增一個元素

7、remove(value)

移除集合裡的元素,不存在會報錯

8、discard(value)

如果value存在於集合中則刪除,不存在不會報錯

9、issubset()(<=)

等同於 set1 <= set2

接收一個序列,檢測集合中的所有值是否都存在於序列中,返回布林值

>>> s1
{1, 2, 3, 4, 5, 7, 8}
>>> s2
{2, 3, 4}
>>> s2 <= s1
True

10、issuperset()(>=)

接收一個序列,檢測序列中的所有值是否都存在於集合中,返回布林值

等同於set1 >= set2

>>> s1
{1, 2, 3, 4, 5, 7, 8}
>>> s2
{2, 3, 4}
>>> s1.issuperset(s2)
True

11、update() (|=)

接收一個序列把序列中的所有值和集合進行合併,原地址操作,沒有返回值

>>> set1 = {1,2,3}
>>> set2 = {4,5,6}
>>> set1 |= set2
>>> set1
{1, 2, 3, 4, 5, 6}

12、intersection_update()(&=)

保留集合中相同的元素,原地址操作,沒有返回值,&是生成一個新的集合

>>> set1
{1, 2, 3, 4, 5, 6}
>>> set2
{4, 5, 6}
>>> set1 &= set2
>>> set1
{4, 5, 6}

13、difference_update()【-=】

和-功能相同,原地址操作,沒有返回值

14、symmetric_difference_update【^=】

和^功能相同,原地址操作,沒有返回值

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章