python 輸出沒有逗號的list_第二講:Python資料型別
技術標籤:python 輸出沒有逗號的list如何判斷list內元素是哪個型別
本章節講解Python資料型別,文章較長,知識點較多。 標準資料型別 Python的標準資料型別有6種:- Number(數字)
- string(字串)
- List(列表)
- Tuple(元祖)
- Sets(集合)
- Directionary(字典)
- 不可變資料(4個):Number、String、Tuple、Sets
- 可變資料(2個):List、Directinary
Number(數字)
- 支援 int(整型)、float(浮點型)、bool(布林)、complex(複數)。只有一個整數型別int,表示為長整型;沒有python2中的long
- 內建的type()函式可以用來查詢變數所指的物件型別。
數值運算
- 加+減-乘*除\,運算順序與數學中一致
- % 取餘,17%3 = 2
- ** 乘方,2**5 = 32
int | float | complex |
---|---|---|
10 | 0.0 | 3.14j |
100 | 15.20 | 45.j |
-786 | -21.9 | 9.322e-36j |
080 | 32.3e+18 | .876j |
-0490 | -90. | -.6545+0J |
-0x260 | -32.54e100 | 3e+26J |
0x69 | 70.2E-12 | 4.53e-7j |
函式 | 描述 |
---|---|
abs(x) | 返回數字的整型絕對值,如 |
ceil(x) | 返回數字的上入整數,如 |
cmp(x, y) | 如果 x < y 返回 -1,如果 x == y 返回 0,如果 x > y 返回 1。 |
exp(x) | 返回 e 的 x次冪(ex),如 |
fabs(x) | 返回數字的浮點數絕對值,如 |
floor(x) | 返回數字的下舍整數,如 |
log(x) | 如 |
log10(x) | 返回以 10 為基數的 x 的對數,如 |
max(x1, x2,…) | 返回給定引數的最大值,引數可以為序列 |
min(x1, x2,…) | 返回給定引數的最小值,引數可以為序列 |
modf(x) | 返回 x 的整數部分與小數部分,兩部分的數值符號與 x 相同,整數部分以浮點型表示 |
pow(x, y) | 冪等函式, x**y 運算後的值 |
round(x [,n]) | 返回浮點數 x 的四捨五入值,如給出 n 值,則代表舍入到小數點後的位數 |
sqrt(x) | 返回數字 x 的平方根 |
隨機數函式
注:以下函式的使用,需先匯入 random 包。函式 | 描述 |
---|---|
choice(seq) | 從序列的元素中隨機挑選一個元素,比如 |
randrange ([start,]stop [,step]) | 從指定範圍內,按指定基數遞增的集合中獲取一個隨機數,基數預設值為1 |
random() | 隨機生成下一個實數,它在 |
seed([x]) | 改變隨機數生成器的種子seed。如果你不瞭解其原理,你不必特別去設定seed,Python會幫你選擇seed |
shuffle(lst) | 將序列的所有元素隨機排序 |
uniform(x, y) | 隨機生成下一個實數,它在 |
三角函式
注:以下函式的使用,需先匯入 math 包。函式 | 描述 |
---|---|
acos(x) | 返回 x 的反餘弦弧度值 |
asin(x) | 返回 x 的反正弦弧度值 |
atan(x) | 返回 x 的反正切弧度值 |
atan2(y, x) | 返回給定的 X 及 Y 座標值的反正切值 |
cos(x) | 返回 x 的弧度的餘弦值 |
hypot(x, y) | 返回歐幾里德範數 |
sin(x) | 返回的 x 弧度的正弦值 |
tan(x) | 返回 x 弧度的正切值 |
degrees(x) | 將弧度轉換為角度,如 degrees(math.pi/2) 返回 90.0 |
radians(x) | 將角度轉換為弧度 |
數學常量
常量 | 描述 |
---|---|
pi | 數學常量 pi(圓周率,一般以π來表示) |
e | 數學常量 e,e 即自然常數(自然常數) |
字串(string)
- 單引號和雙引號使用完全相同
- 使用三引號('''或""")可以指定一個多行字串
- 轉義符(反斜槓\)可以用來轉義,使用r可以讓反斜槓不發生轉義,如r"this is a line with \n",則\n會顯示,並不是換行
- 按字面意義級聯字串,如"this " "is " "string"會被自動轉換為this is string
- 字串可以用+運算子連線在一起,用*運算子重複
- 字串有兩種索引方式,從左往右以 0 開始,從右往左以 -1 開始
- 字串不能改變
- 沒有單獨的字元型別,一個字元就是長度為 1 的字串
- 字串的擷取的語法格式如下:變數[頭下標:尾下標]
code
#!/usr/bin/python3
str = 'Runoob'
print (str) # 輸出字串
print (str[0:-1]) # 輸出第一個到倒數第二個的所有字元
print (str[0]) # 輸出字串第一個字元
print (str[2:5]) # 輸出從第三個開始到第五個的字元
print (str[2:]) # 輸出從第三個開始的後的所有字元
print (str * 2) # 輸出字串兩次
print (str + "TEST") # 連線字串
輸出結果:
Runoob
Runoo
R
noo
noob
RunoobRunoob
RunoobTEST
List(列表)
- List 是python中使用最頻繁的資料型別。
- 列表元素型別可以不同,由數字、字串、列表(所謂的巢狀)組成。
- 列表寫在 [] 之間,元素之間用逗號分開
- 列表可被索引和擷取:擷取語法 :變數[頭下標:尾下標];索引以0為開始值,-1為從末尾的開始位置
- 加號(+)是列表連線運算子,星號(*)是重複操作。
- 列表元素可以改變
codelist = [ 'abcd', 786 , 2.23, 'runoob', 70.2 ]tinylist = [123, 'runoob']print (list) # 輸出完整列表print (list[0]) # 輸出列表第一個元素print (list[1:3]) # 從第二個開始輸出到第三個元素print (list[2:]) # 輸出從第三個元素開始的所有元素print (tinylist * 2) # 輸出兩次列表print (list + tinylist) # 連線列表
#輸出結果['abcd', 786, 2.23, 'runoob', 70.2]abcd[786, 2.23][2.23, 'runoob', 70.2][123, 'runoob', 123, 'runoob']['abcd', 786, 2.23, 'runoob', 70.2, 123, 'runoob']
修改列表
通過使用方括號,可以非常靈活的對列表的元素進行修改、替換、刪除等操作。li=[0,1,2,3,4,5]li[len(li) - 2] = 22 # 修改 [0, 1, 2, 22, 4, 5]li[3] = 33 # 修改 [0, 1, 2, 33, 4, 5]li[1:-1] = [9, 9] # 替換 [0, 9, 9, 5]li[1:-1] = [] # 刪除 [0, 5]
列表操作符
- + 用於合併列表
- * 用於重複列表元素
- in 用於判斷元素是否存在於列表中
- for ... in ...用於遍歷列表元素
[1, 2, 3] + [3, 4, 5] # [1, 2, 3, 3, 4, 5][1, 2, 3] * 2 # [1, 2, 3, 1, 2, 3]3 in [1, 2, 3] # Truefor x in [1, 2, 3]: print(x) # 1 2 3
列表函式
len(list)列表元素個數
max(list)列表元素中的最大值
min(list)列表元素中的最小值
list(seq)將元組轉換為列表
列表方法
- list.append(obj)在列表末尾新增新的物件
- list.count(obj)返回元素在列表中出現的次數
- list.extend(seq)在列表末尾一次性追加另一個序列中的多個值
- list.index(obj)返回查詢物件的索引位置,如果沒有找到物件則丟擲異常
- list.insert(index, obj)將指定物件插入列表的指定位置
- list.pop([index=-1]])移除列表中的一個元素(預設最後一個元素),並且返回該元素的值
- list.remove(obj)移除列表中某個值的第一個匹配項
- list.reverse()反向排序列表的元素
- list.sort(cmp=None, key=None, reverse=False)對原列表進行排序,如果指定引數,則使用比較函式指定的比較函式
- list.clear()清空列表 還可以使用del list[:]、li = []等方式實現
- list.copy()複製列表預設使用等號賦值給另一個變數,實際上是引用列表變數。如果要實現
元組(Tuple)
- 元組:等號(=)左邊是變數名,右邊由()小括號組成,元素之間用逗號隔開
- 元組不可修改
- 元組支援切片、索引、擷取
- 元組的元素型別也可以不相同
- tuple的元素不可變,但是可以包含可變的物件,比如list列表
- 構造包含0和1個元素的元祖,規則:tuple = () #空元祖;tuple1 = (20,) #一個元素,需要在元素後面加上逗號
#code
tuple = ( 'abcd', 786 , 2.23, 'runoob', 70.2 )
tinytuple = (123, 'runoob')
print (tuple) # 輸出完整元組
print (tuple[0]) # 輸出元組的第一個元素
print (tuple[1:3]) # 輸出從第二個元素開始到第三個元素
print (tuple[2:]) # 輸出從第三個元素開始的所有元素
print (tinytuple * 2) # 輸出兩次元組
print (tuple + tinytuple) # 連線元組
#輸出結果('abcd', 786, 2.23, 'runoob', 70.2)abcd(786, 2.23)(2.23, 'runoob', 70.2)(123, 'runoob', 123, 'runoob')('abcd', 786, 2.23, 'runoob', 70.2, 123, 'runoob')
刪除元組
元組中的元素值是不允許刪除的,但我們可以使用 del 語句來刪除整個元組元組函式
- len(tuple)元組元素個數
- max(tuple)元組元素中的最大值
- min(tuple)元組元素中的最小值
- tuple(tuple)將列表轉換為元組
Dictionary(字典)
- 概念:列表是有序的物件集合,字典是無序的物件集合。
- 區別:字典中的元素通過鍵來存取,而不是通過偏移存取。
- 字典是一種對映型別,使用 {} 標識,是一個無序的鍵(key):值(value)對集合。
- 鍵(key)必須使用不可變型別。同一個字典中,鍵必須是唯一的。
- 建立空字典使用 {}
#code
#!/usr/bin/python3
dict = {}
dict['one'] = "1 - Python教程"
dict[2] = "2 - Python工具"
tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}
print (dict['one']) # 輸出鍵為 'one' 的值
print (dict[2]) # 輸出鍵為 2 的值
print (tinydict) # 輸出完整的字典
print (tinydict.keys()) # 輸出所有鍵
print (tinydict.values()) # 輸出所有值
1-Python教程2-Python工具{'name': 'runoob', 'site': 'www.runoob.com', 'code': 1}dict_keys(['name', 'site', 'code'])dict_values(['runoob','www.runoob.com',1])
字典函式
- len(dict)計算字典元素個數,即鍵的總數
- str(dict)輸出字典,以可列印的字串表示
- type(variable)返回輸入的變數型別,如果變數是字典就返回字典型別
- key in dict判斷鍵是否存在於字典中
字典方法
dict.clear()
刪除字典內所有元素
dict.copy()
返回一個字典的淺複製- dict.fromkeys(seq[, value])建立一個新字典,以序列 seq 中元素做字典的鍵,value 為字典所有鍵對應的初始值
- dict.get(key, default=None)返回指定鍵的值,如果值不在字典中返回預設值
- dict.items()以列表形式返回可遍歷的(鍵, 值)元組陣列
- dict.keys()以列表返回一個字典所有的鍵
- dict.values()以列表返回字典中的所有值
- dict.setdefault(key, default=None)如果 key 在字典中,返回對應的值。如果不在字典中,則插入 key 及設定的預設值 default,並返回 default ,default 預設值為 None。
- dict.update(dict2)把字典引數 dict2 的鍵/值對更新到字典 dict 裡
- dict.pop(key[,default])刪除字典給定鍵 key 所對應的值,返回值為被刪除的值。key 值必須給出,否則返回 default 值。
- dict.popitem()隨機返回並刪除字典中的一對鍵和值(一般刪除末尾對)
set(集合)
- set是一個無序不重複元素的序列
- 基本功能是進行成員關係測試和刪除重複元素。
- 可使用大括號 {}或者set()函式建立集合;建立一個空集合必須是set(),{}代表的是空字典
#code
student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
print(student) # 輸出集合,重複的元素被自動去掉
# 成員測試
if('Rose' in student) :
print('Rose 在集合中')
else :
print('Rose 不在集合中')
# set可以進行集合運算
a = set('abracadabra')
b = set('alacazam')
print(a)
print(a - b) # a和b的差集
print(a | b) # a和b的並集
print(a & b) # a和b的交集
print(a ^ b) # a和b中不同時存在的元素
#結果
{'Mary', 'Jim', 'Rose', 'Jack', 'Tom'}
Rose 在集合中
{'b', 'a', 'c', 'r', 'd'}
{'b', 'd', 'r'}
{'l', 'r', 'a', 'c', 'z', 'm', 'b', 'd'}
{'a', 'c'}
{'l', 'r', 'z', 'm', 'b', 'd'}
本章函式講解完成,資料型別是非常重要的一個章節,務必多練習才能掌握。如果本文對你有幫助,歡迎關注!後臺回覆[全棧],即可獲取Python全棧資料。
關注我,和我一起進步!