1. 程式人生 > 其它 >python 輸出沒有逗號的list_第二講:Python資料型別

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
數值型別例項
intfloatcomplex
100.03.14j
10015.2045.j
-786-21.99.322e-36j
08032.3e+18.876j
-0490-90.-.6545+0J
-0x260-32.54e1003e+26J
0x6970.2E-124.53e-7j
數學函式 備註:使用以下函式時,需要先匯入math包
函式描述

abs(x)

返回數字的整型絕對值,如abs(-10)返回 10

ceil(x)

返回數字的上入整數,如math.ceil(4.1)返回 5

cmp(x, y)

如果 x < y 返回 -1,如果 x == y 返回 0,如果 x > y 返回 1。Python 3已廢棄 。使用 使用(x>y)-(x替換。

exp(x)

返回 e 的 x次冪(ex),如math.exp(1)返回2.718281828459045

fabs(x)

返回數字的浮點數絕對值,如math.fabs(-10)返回10.0

floor(x)

返回數字的下舍整數,如math.floor(4.9)返回 4

log(x)

math.log(math.e)返回 1.0,math.log(100,10)返回 2.0

log10(x)

返回以 10 為基數的 x 的對數,如math.log10(100)

返回 2.0

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)

從序列的元素中隨機挑選一個元素,比如random.choice(range(10)),從0到9中隨機挑選一個整數

randrange ([start,]stop [,step])

從指定範圍內,按指定基數遞增的集合中獲取一個隨機數,基數預設值為1

random()

隨機生成下一個實數,它在[0,1)範圍內

seed([x])

改變隨機數生成器的種子seed。如果你不瞭解其原理,你不必特別去設定seed,Python會幫你選擇seed

shuffle(lst)

將序列的所有元素隨機排序

uniform(x, y)

隨機生成下一個實數,它在[x,y]範圍內

三角函式

注:以下函式的使用,需先匯入 math 包。
函式描述

acos(x)

返回 x 的反餘弦弧度值

asin(x)

返回 x 的反正弦弧度值

atan(x)

返回 x 的反正切弧度值

atan2(y, x)

返回給定的 X 及 Y 座標值的反正切值

cos(x)

返回 x 的弧度的餘弦值

hypot(x, y)

返回歐幾里德範數sqrt(x*x + y*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全棧資料。

bef005e0e4557849db562986f0d56d0b.gif

關注我,和我一起進步!

9666afd4ca99fafb5c708bb4e8bbd8bb.png