迴圈語句常用技巧

2021-08-22 19:45:37 字數 1936 閱讀 3268

一、通過切片實現迴圈迭代訪問列表時直接修改列表的值

例如:words=["cat","window","defenstrate"]

for w in words[:]:

if len(w)>6:

words.insert(0,w)

print(words)

如下案例就沒有利用切片直接通過迴圈在迴圈內修改,程式就會卡住無法執行

words=["cat","window","defenstrate"]

for w in words:

if len(w)>6:

words.insert(0,w)

print(words)

注意:with for w in words:, the example would attempt to create an infinite list, inserting defenestrate over and over again.

二、range() function   隨機函式

2.1例子

>>> for i in range(5):

print(i)    01

234>>> 

隨機生成5個整數

2.2列子

>>> for x in range(2,3):

print(x)

2>>> 

2.3示例

>>> for x in range(0,10,2):

print(x)02

468>>> 

range() 和len() 的結合使用

a = ['mary', 'had', 'a', 'little', 'lamb']

for i in range(len(a)):

print(i, a[i])

0 mary

1 had

2 a3 little

4 lamb

以上**可以通過內建函式enumerate函式來實現

a = ['mary', 'had', 'a', 'little', 'lamb']

for x,y in enumerate(a):

print(x,y)    

通過list()函式將迭代器生成乙個列表    

function list() is another; it creates lists from iterables:

例如:list(range(5))

for else break 例子(質數)

>>> for n in range(2, 10):

...     for x in range(2, n):

...         if n % x == 0:

...             print(n, 'equals', x, '*', n//x)

...             break

...     else:

...         # loop fell through without finding a factor

...         print(n, 'is a prime number')

函式內的引數

def func(*yuanzucanshu):

print(yuanzucanshu)

func("a")

結果時乙個元祖

('a',)

func()

結果時空元祖

()**引數名稱

>>> def func(**zidian):

print(zidian)

>>> func()

引數的呼叫

>>> func(name="zhangsan")

>>> 

元祖引數與字典引數的在函式中的引用,以及反向引用

lambda expressions

lambda x,y:x+y

常用SQL語句優化技巧

除了建立索引之外,保持良好的sql語句編寫習慣將會降低sql效能問題發生。通過變數的方式來設定引數 好 stringsql select from people p where p.id 壞 stringsql select from people p where p.id id 資料庫的sql文解...

Verilog HDL常用迴圈語句型別

1 本節目錄 2 本節引言 3 fpga簡介 4 verilog hdl常用迴圈語句型別 5 結束語。不積跬步,無以至千里 不積小流,無以成江海。就是說 不積累一步半步的行程,就沒有辦法達到千里之遠 不積累細小的流水,就沒有辦法匯成江河大海。fpga field programmable gate ...

迴圈語句python Python 迴圈語句

sonnetoab勝於藍 優秀個人部落格 gra nnet qq.comoab勝於藍 優秀個人部落格oab勝於藍 優秀個人部落格 八皇后問題 迴圈遞迴法 oab勝於藍 優秀個人部落格 queen problem with recurison board size 8 def under attack...