日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Python学习之路和隐藏特征

發布時間:2025/3/15 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python学习之路和隐藏特征 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

歡迎關注微信公眾號生信寶典:http://mp.weixin.qq.com/s/vDAHTitasAUphWsrS2Uzlg
針對生信領域的零基礎愛好者及生信分析中遇到的種種問題,生信領域知名公眾號“生信寶典”團隊組織了中科院系統項目經驗豐富的一線科研人員開展系列培訓活動。

在小學生都學Python了,你還不知道怎么開始文中介紹了Python的應用廣泛,功能強大,提供了Python的在線學習視頻和資料等。

學習程序語言不是一件難事,也不是一件簡單事。為什么編程這么難中翻譯了一篇編程學習的心路歷程。

(圖例“編程信心與能力”:縱軸為信心值,橫軸為能力水平,虛線從左至右依次分割出手牽手蜜月期、混沌懸崖、絕望沙漠、令人興奮的上升期四個階段,第5條虛線標志著工作準備就緒)

在我看來,學習編程是學以致用,學習方式是硬著頭皮去寫。

讀文檔是蜜月期,讀讀就過去,誰都會。

寫程序是混沌懸崖,知道是這么回事,就是寫不出來;

調程序是絕望沙漠,怎么看自己寫的都對,就是編譯器不開眼;

程序正確了就是興奮期,萬里長征邁出又一步。

這些過程沒有捷徑,但可以加速,就是我們的零基礎Python編程班,應用Python處理生物信息數據和作圖

廣告做完了,來點Python的特性。

Python編程有其特有的方式 phyonic,下面是python編程一些有意思的用法和技巧,總結出來,以饗大家。

1.原位替換

a = 5 b = 6 c = 7 a, b = b,a print("a is",a) print("b is",b) a is 6 b is 5 a, (b,c) = c, (a,b) print("a is",a) print("b is",b) print("c is",c) a is 7 b is 6 c is 5 first, *middle_all, last = (1,2,3,4,5,6) middle_all [2, 3, 4, 5]

2.鏈似比較

x = 5 print("1 < x < 10 is", 1 < x < 10) print("10 > x <= 9", 10 > x <= 9) 1 < x < 10 is True 10 > x <= 9 True

3.列表索引,反序

a = [1,2,3,4,5] a[::2] [1, 3, 5] a[::-1] [5, 4, 3, 2, 1]

4.列表解析、字典解析、元組解析

# 獲得系列坐標點 a = ((i,j) for i in range(3) for j in range(2)) a <generator object <genexpr> at 0x7fa8d04d7fc0> for i in a:print(i) (0, 0) (0, 1) (1, 0) (1, 1) (2, 0) (2, 1) str1 = "I love sheng xin bao dian" print([i for i in str1.split() if i.endswith('n')]) ['xin', 'dian'] a = {i:i*2 for i in range(5)} a {0: 0, 1: 2, 2: 4, 3: 6, 4: 8} [(x, y) for x in range(4) if x % 2 == 1 for y in range(4)] [(1, 0), (1, 1), (1, 2), (1, 3), (3, 0), (3, 1), (3, 2), (3, 3)]

5.集合操作

a = set(["sheng", "xin", "bao","dian","best","tutotials"]) b = set(["hong", "ji", "yin","zu","best","tutotials"]) a | b # union {'bao', 'best', 'dian', 'hong', 'ji', 'sheng', 'tutotials', 'xin', 'yin', 'zu'} a & b # intersection {'best', 'tutotials'} a ^ b # Symmetric Difference {'bao', 'dian', 'hong', 'ji', 'sheng', 'xin', 'yin', 'zu'}

6.Negative round

print("round整數:",str(round(1234.5678, -2)))print("round小數:",str(round(1234.5678, 2))) round整數: 1200.0 round小數: 1234.57

7.多行字符串的優雅嵌套

# \可以,但是第二行需要起頭 system_command = "s-plot pheatmap -f matrix \ -t heatmap -a TRUE" print(system_command) s-plot pheatmap -f matrix -t heatmap -a TRUE # 字符串中包含換行符 # 切第二行要起頭,不然會有較多空格 system_command = """s-plot pheatmap -f matrix -t heatmap -a TRUE""" print(system_command) print(system_command.replace('\n', ' ')) s-plot pheatmap -f matrix -t heatmap -a TRUE s-plot pheatmap -f matrix -t heatmap -a TRUE # 類元組的寫法,既可以跨行,又可以自由格式 # 需要注意2點# 類元組,無逗號# 字符串連接時不會自動加空格,空格需要保存在字符串里面 system_command = ("s-plot pheatmap -f matrix ""-t heatmap -a TRUE") print(system_command) s-plot pheatmap -f matrix -t heatmap -a TRUE # 多一步join; system_command = ["s-plot pheatmap -f matrix","-t heatmap -a TRUE"] print(' '.join(system_command)) s-plot pheatmap -f matrix -t heatmap -a TRUE

8.zip轉換兩個列表為字典

keyL = [1,2,3] valueL = ['a','b','v'] for i ,j in zip(keyL, valueL):print(i,j) 1 a 2 b 3 v import pprint pprint.pprint(dict(zip(keyL, valueL))) {1: 'a', 2: 'b', 3: 'v'} dict([(i,j) for i ,j in zip(keyL, valueL)]) {1: 'a', 2: 'b', 3: 'v'}

9.enumerate索引列表 (不再使用len)

a = ['s','x','b','d']# Preferred way for index, item in enumerate(a):print(index,item)print("\n")# Old way for i in range(len(a)):print(i,a[i]) 0 s 1 x 2 b 3 d0 s 1 x 2 b 3 d

10.矩陣轉置

a = [(1,2), (3,4), (5,6)] b = zip(*a) for i in b:print(i) (1, 3, 5) (2, 4, 6)

11.sum的另一用法,二維數組秒變1維

aList = [[1, 2, 3], [4, 5], [6], [7, 8, 9]] sum(aList, []) [1, 2, 3, 4, 5, 6, 7, 8, 9]

12.解釋正則表達式

import re re.compile("^[a-z]*$", re.DEBUG) AT AT_BEGINNING MAX_REPEAT 0 MAXREPEATINRANGE (97, 122) AT AT_END re.compile("^[a-z][0-9]+$", re.DEBUG) AT AT_BEGINNING INRANGE (97, 122) MAX_REPEAT 1 MAXREPEATINRANGE (48, 57) AT AT_END re.compile("^[a-z]([0-9]+)$", re.DEBUG) AT AT_BEGINNING INRANGE (97, 122) SUBPATTERN 1 0 0MAX_REPEAT 1 MAXREPEATINRANGE (48, 57) AT AT_END

13.for..else;若for循環中未執行break,則else會被執行

found = False for i in range(2,5):if i == 1:found = Truebreak if not found: print("i was never 1") i was never 1 for i in range(2,5):if i == 1:break else:print("i was never 1") i was never 1

14.啟動網絡服務器,用于文件預覽或傳輸

# run in commang line # python -m http.server 8000 Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...

15.python打印九九乘法表 (列表解析)

print('\n'.join([' '.join(['%s*%s=%-2s' % (y,x,x*y) for y in range(1,x+1)]) for x in range(1,10)])) 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

16.map, filter

# 過濾大于4的元素 a = [3,4,5] [i for i in a if i<4] [3] list(filter(lambda x: x<4, a)) [5] # 每個元素加2 [i+2 for i in a] [5, 6, 7] map(lambda x: x+2, a) <map at 0x7fa8d0502358> list(map(lambda x: x+2, a)) [5, 6, 7]

算2的1000次方的各位數之和

sum(map(int, str(2**1000))) 1366

17.python打印心型

print('\n'.join([''.join([('Love'[(x-y) % len('Love')] if ((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3 <= 0 else ' ') for x in range(-30, 30)]) for y in range(30, -30, -1)])) veLoveLov veLoveLov eLoveLoveLoveLove eLoveLoveLoveLove veLoveLoveLoveLoveLoveLoveLoveLoveLoveLov veLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveL veLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLov eLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLove LoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveL oveLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLo veLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLov eLoveLoveLoveLoveLoveLoveLoveLoveLoveLoveLove oveLoveLoveLoveLoveLoveLoveLoveLoveLoveLove eLoveLoveLoveLoveLoveLoveLoveLoveLoveLove LoveLoveLoveLoveLoveLoveLoveLoveLoveLoveL eLoveLoveLoveLoveLoveLoveLoveLoveLove oveLoveLoveLoveLoveLoveLoveLoveLove eLoveLoveLoveLoveLoveLoveLoveLove veLoveLoveLoveLoveLoveLoveLov oveLoveLoveLoveLoveLoveLo LoveLoveLoveLoveLoveL LoveLoveLoveLov LoveLoveL Lov v
  • python打印曼德勃羅集合
  • print('\n'.join([''.join(['*'if abs((lambda a:lambda z,c,n:a(a,z,c,n))(lambda s,z,c,n:z if n==0else s(s,z*z+c,c,n-1))(0,0.02*x+0.05j*y,40))<2 else' 'for x in range(-80,20)])for y in range(-20,20)])) * ** *********** ************ ********* * * ************ * * ****** * *************************** * *************************************** ***** ******************************************* *** ******************************************** * ************************************************** ******************************************************** * ***************************************************** **** ******* * ************************************************************************ ******************************************************* *********************** ******************************************************************************** ******************************************************** **** ******************************************************************************** ********************************************************************************************* **** ******************************************************************************** *********************** ******************************************************** *********************** ************************************************************************** ******************************************************* **** ******* * ******************************************************** * ***************************************************** ********************************************************************************************************* *** ******************************************** * ******************************************* *************************************** ***** ****** * *************************** * * * ************ * * ********* ************ *********** **

    19.打開一個關于Python漫畫的網站

    import antigravity 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的Python学习之路和隐藏特征的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。