1.列表
列表、字典、元祖、集合都是序列,都是容器類型的數(shù)據(jù)類型
列表(list):用來存儲多個數(shù)據(jù)的一種數(shù)據(jù)類型
特點:
1.有序
2.可變的(可變指定是容器中的內(nèi)容的個數(shù)和值可變)
3.元素可以是多種數(shù)據(jù)的類型
列表的值:用中括號將列表中的元素括起來,多個元素之間用逗號隔開
1.1 列表的聲明
- 聲明一個變量,賦一個列表值
list1 = [] #創(chuàng)建一個空列表
print(type(list1))
list2 = [1, 12.9, 'abc', ['abc',1,23],True]
print(list2,type(list2))
# [1, 12.9, 'abc', ['abc', 1, 23], True] <class 'list'>
- 將其他的數(shù)據(jù)類型轉(zhuǎn)換成列表
list =list('abc')
print(list)
# ['a', 'b', 'c']
list4 = list(i for i in range(10))
print(list4) #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
list5 = list(i*2 for i in range(10))
print(list5) # [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
1.2 列表元素的獲取
- 單個元素的獲?。?列表名[下標(biāo)]
注:下標(biāo)不能越界
names = ['路飛','左羅','娜美','鳴人','佐助']
print(names[2])
娜美
print(names[-3])
娜美
# print(names[5])
# IndexError: list index out of range
# b.獲取部分元素(切片)
- 部分元素的獲?。?br> a.列表名[起始下標(biāo):結(jié)束下標(biāo)];
獲取從下標(biāo)開始,到結(jié)束下標(biāo)前結(jié)束
b.列表名[起始下標(biāo):結(jié)束下標(biāo):步進(jìn)]
開始下標(biāo)和結(jié)束下標(biāo)都可省略
print(names[:]) #獲取列表中的元素,從新創(chuàng)建一個新的列表
print('---')
names = ['路飛','左羅','娜美','鳴人','佐助']
print(names[1:4])
print(names[-4:-1])
print(names[:])
print(names[:]) #獲取列表中的元素,從新創(chuàng)建一個新的列表
---
['左羅', '娜美', '鳴人']
['左羅', '娜美', '鳴人']
['路飛', '左羅', '娜美', '鳴人', '佐助']
c.一個一個元素的獲取列表中的所有元素
for循環(huán)遍歷
for item in score:
print(item)
while循環(huán)遍歷
while
index=0
while index < len(scores):
print(score[index])
index +=1
2、添加列表元素
append()函數(shù)
列表.append(元素)
在列表的末尾添加一個元素
skills =[]
skills.append('氣體源流')
print(skills)
#['氣體源流']
skills.append('拘靈遣將')
print(skills)
#['氣體源流', '拘靈遣將']
insert()函數(shù)
列表.insert(index,元素)
在列表的指定的下標(biāo)前插入一個元素
注意:下標(biāo)可以越界,如果越界,就會插入到列表的最前面或者最后面
skills.insert(1,'佩奇')
print(skills)
['氣體源流', '佩奇', '拘靈遣將']
skills.insert(-6,'佩奇')
print(skills)
['佩奇', '氣體源流', '佩奇', '拘靈遣將']
3.刪除列表元素
del語句
del可以刪除任何數(shù)據(jù)
del 列表[下標(biāo)]:刪除列表中指定下標(biāo)的元素
remove()
列表.remove(元素):刪除列表中的指定元素(如果列表中有多個,只刪最前面的那個)
注意;如果要刪除的元素不在列表中,會報錯
pop()方法
列表.pop():將列表中的而最后一個元素取出來
列表.pop(小標(biāo)):將列表中指定下表的元素取出來
films =['肖申克的救贖','阿甘正傳','摔跤吧爸爸','逃學(xué)威龍','賭圣','逃學(xué)威龍']
print(films)
film=films.pop()
print(films,film)
# ['肖申克的救贖', '摔跤吧爸爸', '賭圣'] 逃學(xué)威龍
film =films.pop(1)
print(films,film)
# ['肖申克的救贖', '賭圣'] 摔跤吧爸爸
# scores = [23,45,78,32,90,89,1],刪除所有小于60的分?jǐn)?shù)
scores = [23,55,78,32,90,89,1]
for item in scores[:]:
if item<60:
scores.remove(item)
print(scores)
4.輸入函數(shù)input()
1.input()函數(shù)可以接受從控制臺輸入的內(nèi)容(回車結(jié)束)
2.input函數(shù)會阻塞線程,程序到input的時后會停下來等待用戶的輸入,輸入完成后才會接著執(zhí)行下面的內(nèi)容
3.接收到的數(shù)據(jù)是以字符串類型返回的(python2.x輸入數(shù)字可能返回int類型或者浮點型數(shù)據(jù))
隨機(jī)產(chǎn)生1-100的整數(shù)
輸入的數(shù)字如果和產(chǎn)生的隨機(jī)數(shù)是一樣的,就提示猜對了
如果輸入的數(shù)大于或小于隨機(jī)數(shù),就提示數(shù)字偏大或偏小,讓其重新輸入
import random
number = random.randint(1,100)
while True:
value =int( input('請輸入數(shù)字:'))
if number == value:
print('恭喜你,猜對了')
break
elif number > value:
print('輸入數(shù)字偏小')
else:
print('輸入數(shù)字偏大')
3.內(nèi)容后加end=來設(shè)置結(jié)束標(biāo)志,默認(rèn)是/n(換行)
4.通過設(shè)置sep的值,來設(shè)置多個內(nèi)容之間的間隔符(默認(rèn)是空格)
print('aaa',100,end=' ',sep='-')
print('bbb')
#aaa-100 bbb