1. 程式人生 > >python基礎知識5

python基礎知識5

學習python語言程式設計(嵩天,黃天宇,禮欣)

random庫

importle random

函式 描述
random.seed(a) 採用梅森旋轉演算法產生的隨機數,初始化隨機數種子,預設為當前的系統時間
random.random() 生成一個0.0——1.0的隨機小數
random.randint(a,b) 生成一個a——b的隨機整數
random.randrange(a,b,[c]) 生成一個[a,b]之間的以c為步長的整數
random.getrandbits(k) 生成一個k位元的整數
random.uniform(a,b) 生成一個[a,b]之間的隨機小數
random.choice(seq) 在序列seq中隨機選擇一個數
random.shuffle(seq) 打亂序列seq中的順序,返回打亂後的序列

random.seed()產生隨機數種子的原因是為了進行資料的重現——即再次呼叫random.seed()產生的隨機數為最開始的random.seed()產生的值

例子

  • random.seed(a)
  • random.random()
>>> random.seed(10)
>>> random.random()
0.5714025946899135
        .
        .
        .#表示經歷多次其他運算,再次呼叫random.seed()函式可以實現
        資料的再次復現
>>> random.seed(10)
>>> random.random()
0.5714025946899135
  • random.randint(a,b)
  • random.randrange(a,b,c)
  • random.uniform(a,b)
  • random.getrandbits(a)
>>> import random
>>> random.randint(1,10)
8
>>> random.randrange(1,10,2)
3
>>> random.getrandbits(4)
13
>>> random.uniform(1,10)
7.47503741356482
  • random.choice(seq)
  • random.shuffle(seq)
>>> s=[1,2,3,4,5]
>>> random.choice(s)
3
>>> random.shuffle(s)
>>> print(s)
[3, 2, 4, 1, 5]
>>> 

組合型別

  • 集合型別——資料去重,包含關係比較
    集合無序,元素唯一,為不可修改資料型別
函式 描述
S.add(x) 給指定集合中末尾增加一個元素
S.discard(x) 移除集合中的元素x,沒有x不報錯
S.remove(x) 移除集合中的元素x,沒有x報錯KeyError
S.clear() 清空S
S.pop() 隨機返回S中的一個元素,S為空KeyError
S.copy() 複製一個集合
len(S) 判斷集合長度
x in S 判斷集合與元素的關係
x not in S 集合與元素的關係

簡單使用

>>> s={1,2,3,4,5}
>>> s.add(6)
>>> s
{1, 2, 3, 4, 5, 6}
>>> s.discard(4)
>>> s
{1, 2, 3, 5, 6}
>>> s.remove(3)
>>> s
{1, 2, 5, 6}
>>> s.remove(7)
Traceback (most recent call last):
  File "<pyshell#10>", line 1, in <module>
    s.remove(7)
KeyError: 7
>>> s.pop()
1
>>> 2 in s
True
>>> 

集合的運算

序列型別

序列型別的操作1
序列型別操作2

  • 元組型別

    建立後無法修改,使用tuple()或者()建立

  • 列表型別

    使用list()或者[ ]
    ls為一個列表

函式 描述
del ls[i] 刪除列表的第i個位置的值
del ls[i,j,k] 刪除列表中從i到j位置以k為步長的資料
ls.append(x) 在列表的最後增加一個x
ls.clear() 清空列表
ls.copy() 複製列表
ls.insert(x) 在第i個位置上增加x
ls.pop(i) 取出列表的第i位置上的值,並將其從列表中刪除
ls.remove(i) 刪除第一個出現i的值
ls.reverse() 反轉列表

- 字串型別見前面內容

字典型別

鍵——值對的對映關係

假設d為一字典型別

函式 描述
del d[k] 刪除字典d中k所對應的值
k in d 判斷k是否在d中
d.keys() 返回d中的所有鍵的資訊
d.values() 返回d中所有值的資訊
d.get(k,default) d中存在k,返回相應值,不存在返回default對應的值
d.pop(k,default) 存在k,取出相應值,不存在返回default對應的值