您好,登錄后才能下訂單哦!
import random
random.randint(1,2) #[1,2]
random.randrange(1,2) #[1,2)
random.choice(lst) #從一個列表中隨機選擇一個元素出來
random.shuffle(lst) #打亂列表(效率低)
random.sample(lst,#) 在lst中隨機取#個樣本,每個樣本只能取1次,并輸出列表
元組tuple :不可變的(與只讀列表很像)
表示:
t1 = ()
t2 = tuple()
t3 = (1) #這個不是元組
t4 = (1,) #這個是,必須有逗號
t5 = (1,2,[1,2,3],'a')
t6 = tuple(lst)
t7 = tuple(range(4))
元組:一旦創建,不可改變
可以更改元組內的列表,只改變列表,但是地址(門牌號)不會改變
t8 = (1,)*5
(1,1,1,1,1)
如果要改:
l8 = list(t8) #轉換成列表再改
index(t1)
count(#)
命名元組namedtuple #也是不能修改的
point = namedtuple('point',['x','y'])
p1 = point(3,4)
打印p1
point(x=3,y=4)
point類型是type (類)
例:
Student = nametuple('A','name,age')
tom = Student('tom',20)
打印tom
A(name='tom',age=20)
nametuple?? ##顯示源碼
冒泡法
從左至右,兩兩比較排列
優化思想:
如果在一次循環中沒有發生交換,就是已經達到目標順序,則不用再交換
x = 1
y = 4
s1 = f"{x}->{y}"
打印
{1}->{4}
s1可以被索引、迭代,但一旦定義,不可更改
連接列表
“。。”.join(['1','2','3']) 用。。連接列表中字符串
打印出:
‘1。。2。。3’
例如前面‘。。’改成\n可以換行
map(str,range(10)) 更改類型
map: 映射
s4 = ','.join('abcdef')
s4.split(',') #默認使用空白字符分割,盡量長的找空白字符,立即返回一個列表
括號內為切割分隔符
s5.split(maxsplit=2) #maxsplit:最大切割數
s5.rsplit(maxsplit=2) #從右向左切
s5.splitlines() 按換行符切,并不保留,()內加True保留換行符
s4.partition(',') #返回一個三元組
#切一刀
#保留分隔符
‘aBcD’.lower :全變小寫
‘aBcD’.upper :全變大寫
'aBcD'.swapcase() :大小寫互換
s10.title()
s10.capitalize()
s10.center(30,'0') 居中,0填充
str(1).zfill(10)
'1'.ljust #左對齊
'1'.rjust #右對齊
'1'.replace('a','the',n) #把a換成the,執行n次,最后可不加
#如沒有搜到,不替換,生成新的字符串
s1.replace(' ', ' \t).split().append('c') #鏈式編程
S.strip() #默認將兩端空白字符去掉
() #去掉直到括號內的所有字符
S.index('very') #查找索引,從0開始,查不到報錯
S.find('vectory') #返回負數表示沒有找到,找到返回索引
S.rfind('v') #從右開始找索引
S.startswith('x',4,6) 判斷字符串是否以x開頭(后面可以指定區間),輸出為bool
S.endswith('x',4,10) 判斷是否x結尾,輸出為bool
字符串格式化
%03d(f) #以×××數字(浮點型)打印,占用3個位置,用0補
%04s #以字符串類型打印,用空格補位
'my name is %s, i am %d' % (wayne,30) 后面只能跟一個,可以用元組
format #函數格式化字符串
'{} {} {}'.format(1,2,['a']) #{}表示一個參數,以字符串形式輸出,可以溢出
例
'{2}{1}{0}'.format(1,2,[a])
打印出
[a]21
import datetime
d=datetime.datetime.now()
'{}'.format.(d)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。