【摘要】在這個科學技術高速發展的時代,越來越多的人都開始選擇學習編程軟件,那么首先被大家選擇的編程軟件就是python,也用在各行各業之中,并被大家所熟知,所以也有越來越多的python學習者關注python就業方向問題,今天環球網校的小編就來和大家講講python核心數據類型。
python核心數據類型包括數字、字符串、元組、列表、字典、文件、集合
字符串、元組是不可變的,列表、字典是可變的
1、python核心數據類型——字符串
字符串是用來記錄文本信息的,可以把字符串看作是單個字符組成的序列,其他類型的序列還包括列表和元組。
S = 'python'
print(len(S)) # 6
print(S[0]) # p
print(S[:])# python
print(S[1:])# ython
print(S[:-1])# pytho
print(S[1:3])# yt
字符串作為序列也支持加號合并操作
S = 'python'
print(S + 'is very easy') # python is very easy
print(S * 2) # pythonpython
字符串的find方法是對子字符串進行查找,存在的情況下將返回子字符串的索引,不存在的情況下將返回-1,而replace方法將會對全局進行搜索和替換
>>> s = 'abc'
>>> print(s.find('b'))
1
>>> print(s.find('d'))
-1
>>> print(s.replace('ab','de'))
dec
>>>
>>> print(s.upper())
ABC
>>> print(s.isalpha())
True
>>>
字符串大小寫轉換,upper()方法轉大寫,lower方法轉小寫,capitalize()方法把首字母轉大寫,
title()方法把每個單詞的第一個字母大小,其余小寫
s = 'aBc'
>>> print(s.upper())
ABC
>>> print(s.lower())
abc
>>>
>>> s = 'www.baidu.com'
>>> print(s.capitalize())
>>> print(s.title())
>>>
字符串支持格式化的高級替代操作,可以以一個表達式的形式和一個字符串方法調用形式使用
>>> print('%s like eat %s' % ('I','egg!'))
I like eat egg!
>>> print('{0} like eat {1}'.format('I','egg!'))
I like eat egg!
>>>
2、python核心數據類型——列表
列表是一個任意類型的對象的位置相關的有序集合。前面講到字符串、列表都是序列的一種,兩者唯一的區別是字符串不可變,而列表大小是可變的,所以能同樣對列表進行索引、切片
>>> L = [123,'PYTHON',1.23]
>>> print(L[0])
123
>>> print(L[2])
1.23
>>> print(L[:-1])
[123, 'PYTHON']
>>> print(L[:])
[123, 'PYTHON', 1.23]
>>> print(L[1:3])
['PYTHON', 1.23]
>>>
列表也可以使用append()方法添加元素,使用pop()方法刪除元素,pop()方法不帶參數時默認刪除最后一個元素,帶參數時刪除指定索引的元素
>>> L = [123,'PYTHON',1.23]
>>> L.append('java')
>>> print(L)
[123, 'PYTHON', 1.23, 'java']
>>> L.pop(1)
PYTHON'
>>> print(L)
[123, 1.23, 'java']
>>>
列表雖然沒有固定大小,但不允許引用不存在的元素,超出列表末尾之外的引用會導致錯誤
>>> L = [123,'PYTHON',1.23]
>>> L[11]
Traceback (most recent call last):
File "", line 1, in
IndexError: list index out of range
>>>
3、python核心數據類型——嵌套
python核心數據類型的一個優秀的特性是它可以支持任意的嵌套,例如:一個列表包含一個字典,并在這個字典中包含另一個列表;python中的多維數組,一個嵌套列表的列表可以完成基本操作
>>> M = [[1,2,3],[4,5,6],[7,8,9]]
>>> print(M[1])
[4, 5, 6]
>>> print(M[1][2])
6
>>>
4、python核心數據類型——列表解析
列表解析能夠處理矩陣這樣結構的強大工具,矩陣是按照行進行存儲的,所以通過簡單的索引即可獲取行,使用列表解析可以獲取列,下面例子是獲取第三列
>>> M = [[1,2,3],[4,5,6],[7,8,9]]
>>> colum2 = [row[2] for row in M]
>>> print(colum2)
[3, 6, 9]
>>>
列表解析源自集合的概念,它是一種通過對序列中的每一項運行一個表達式來創建一個新列表的方法,
>>> M = [[1,2,3],[4,5,6],[7,8,9]]
>>> c = [row[2] + 1 for row in M]
>>> print(c)
[4, 7, 10]
>>> c = [row[2] for row in M if row[2] % 2 ==0] #取第二列中為偶數的元素
>>> print(c)
[6]
>>>
>>> diag = [M[i][i] for i in [0,1,2]] #取對角線元素
>>> print(diag)
[1, 5, 9]
>>>
括號中的解析語法也可以用來創建產生所需結果的生成器
>>> M = [[1,2,3],[4,5,6],[7,8,9]]
>>> G = (sum(row) for row in M)
>>> print(next(G))
6
>>> print(next(G))
15
>>> print(next(G))
24
>>>
內置函數map也可以做類似的事情,產生對各項運行一個函數的結果,在python3中,將其包裝到列表中,會使其返回所有值
>>> M = [[1,2,3],[4,5,6],[7,8,9]]
>>> print(list(map(sum,M)))
[6, 15, 24]
>>>
在python3中,解析語法也可以用來創建集合和字典
>>> M = [[1,2,3],[4,5,6],[7,8,9]]
>>> G = {sum(row) for row in M}
>>> print(G)
{24, 6, 15}
>>> F = {i : sum(M[i]) for i in range(3)}
>>> print(F)
{0: 6, 1: 15, 2: 24}
>>>
5、python核心數據類型——字典
字典通俗的理解就是key-value 關系,通過key值找對應的value,內置的sorted函數可以對字典的key排序,
>>> dic = {'a':2,'c':1,'b':3}
>>> for key in sorted(dic):
...
... print(key,'=>',dic[key])
...
a => 2
b => 3
c => 1
>>>
獲取不存在的鍵會出現錯誤,但可以通過if進行測試判斷
>>> dic = {'a':2,'c':1,'b':3}
>>> print(dic['d'])
Traceback (most recent call last):
File "", line 1, in
KeyError: 'd'
>>>
>>> dic = {'a':2,'c':1,'b':3}
>>> if 'd' not in dic:
... print("missing")
...
missing
{'a': 2, 'c': 1, 'b': 3}
>>> value = dic['d'] if 'd' in dic else 0
>>> print(value)
0
>>>
>>> value = dic['b'] if 'b' in dic else 0
>>> print(value)
3
>>>
sort 與sorted區別 sort會改變原來的,而sorted不會改變原來的,相當于新建了一個
>>> list = [0,3,5,-1,4,6]
>>> list.sort()
>>> print(list)
[-1, 0, 3, 4, 5, 6]
>>> list = [0,3,5,-1,4,6]
>>> sorted(list)
[-1, 0, 3, 4, 5, 6]
>>> print(list)
[0, 3, 5, -1, 4, 6]
基于key值的排序
>>> list = [(2,'bob',88),(4,'mary',99),(1,'make',77)]
>>> list.sort()
>>> print(list)
[(1, 'make', 77), (2, 'bob', 88), (4, 'mary', 99)]
>>> list = [(2,'bob',88),(4,'mary',99),(1,'make',77)]
>>> list.sort(key = lambda x:x[2])
>>> print(list)
[(1, 'make', 77), (2, 'bob', 88), (4, 'mary', 99)]
reverse=False為升序排序;reverse=True為降序排序
>>> list = [0,3,5,-1,4,6]
>>> list.sort(reverse=False)
>>> print(list)
[-1, 0, 3, 4, 5, 6]
>>> list.sort(reverse=True)
>>> print(list)
[6, 5, 4, 3, 0, -1]
>>>
以上就是有關于python核心數據類型的全部內容,小編希望大家所學的python知識可以用在自己的工作領域中,畢竟作為一個應用類的技能,最終還是要應用在實際領域中才能發揮它的作用,環球網校的小編在這里祝大家學有所成,并徹底掌握python的使用方法。