python中的range用于生成一個整數(shù)序列。range()方法被廣泛運(yùn)用在for循環(huán)中遍歷或迭代序列數(shù)據(jù)。
range()方法通常有兩種使用格式:
range(stop)range( start, stop[, step])
該方法可以理解為按照step給定的數(shù)生成一個等差數(shù)列,兩數(shù)之差為 step 。
三個參數(shù)都必須為整型數(shù)。
我們可以使用range()生成序列來創(chuàng)建列表,或用于循環(huán)當(dāng)中。
1、用于創(chuàng)建列表
range()方法在給定一個參數(shù)時是給定的 stop 的值,start 默認(rèn)為0, step 默認(rèn)為1.
>>> lst1 = list(range(5)) #給定1個參數(shù)
>>> print(lst1)
[0, 1, 2, 3, 4]
>>> lst2 = list(range(3, 8)) # 這里 start=3, stop = 8
>>> print(lst2)
[3, 4, 5, 6, 7]
>>> lst3 = list(range(3, 10, 2)) # 三個參數(shù)
>>> print(lst3)
[3, 5, 7, 9]
>>>
2、用于for循環(huán)
range()在循環(huán)中可以實(shí)現(xiàn)各種各樣的操作,下面舉幾個例子來說明具體使用方法:
(1)輸出 20 以內(nèi)的所有偶數(shù)
for i in range(1, 21):
if i % 2 == 0:
print(i, end = ', ')
輸出結(jié)果:
2, 4, 6, 8, 10, 12, 14, 16, 18, 20,
因?yàn)閞ange()方法不包含結(jié)尾處的數(shù)字,所以如果這里包含20的話,那么stop參數(shù)應(yīng)該設(shè)置成21,否則直接取20即可。
(2)求50以內(nèi)的所有素?cái)?shù)
for i in range(2, 50):
flag = True
for j in range(2, i):
if i % j == 0:
flag = False
break
if flag:
print(f'{i}是素?cái)?shù)')
輸出結(jié)果:
2是素?cái)?shù)
(3)輸出列表中的數(shù)據(jù)
3是素?cái)?shù)
5是素?cái)?shù)
7是素?cái)?shù)
11是素?cái)?shù)
13是素?cái)?shù)
17是素?cái)?shù)
19是素?cái)?shù)
23是素?cái)?shù)
29是素?cái)?shù)
31是素?cái)?shù)
37是素?cái)?shù)
41是素?cái)?shù)
43是素?cái)?shù)
47是素?cái)?shù)
lst = [1, 3, 7, 9, "python"]
for i in range(len(lst)):
print(lst[i])
輸出結(jié)果:
1
3
7
9
python
(4)輸出元組中的數(shù)據(jù)
t = (1, 2, "A", 12.5)
for i in range(len(t)):
print(t[i])
1
以上是關(guān)于range方法在各種情境下的使用方法。
2
A
12.5
新聞熱點(diǎn)
疑難解答
圖片精選