列表,元組以及range 一.列表(list) 列表是數據類型之一,它有序,可變,支持索引 作用:存儲數據,支持的數據類型很多:字元串,數字,布爾值,列表等 1.增 2.刪 3.改 4.查 5.列表的嵌套 二.元組(tuple) 元組是有序的,不可變,支持索引,是一個不可變的列表 作用:用於存儲一些 ...
列表,元組以及range
一.列表(list)
列表是數據類型之一,它有序,可變,支持索引
作用:存儲數據,支持的數據類型很多:字元串,數字,布爾值,列表等
# 定義一個列表
lst = ['alex',123,True,'列表'] 用逗號分隔的是一個元素
#print(id(lst[0])) -- 獲取元素的記憶體地址
1.增
lst = ['alex',123,'wusir',456]
# 追加 : 在列表的最後一個位置添加一個內容
lst.append('000')
print(lst) #['alex',123,'wusir',456,'000']
# 插入 :儘量不要使用(當數據量比較大的時候會影響效率)
lst.insert(1,'000')
print(lst) #['alex','000',123,'wusir',456]
#迭代添加 ("可迭代對象")
lst.extend('000')
print(lst) #['alex',123,'wusir','0','0','0']
2.刪
lst = ['alex',123,'wusir',456]
# 彈 預設刪除最後一個;有返回值,返回的是被刪除的元素;可通過指定索引進 行刪除
lst.pop(2)
print(lst) #['alex',123,456]
# 移除 通過元素名字進行刪除
lst.remove('wusir')
print(lst) #['alex',123,456]
# del
del lst[2] -- 通過索引刪除
print(lst) #['alex',123,456]
del lst[0:3] -- 通過切片刪除
print(lst) #[456]
del lst[0:3:2] -- 通過步長刪除
print(lst) #[123,456]
#清空 --清空列表
lst.clear()
print(lst) #[]
3.改
lst = ['alex',123,'wusir',456]
# 通過索引修改
lst[2] = "太白"
print(lst) #['alex',123,'太白',456]
# 通過切片修改(迭代,新的元素可以超出切片的位數)
lst[0:3] = "太白金星"
print(lst) #['太','白','金','星',456]
# 通過步長修改(迭代,新的元素和位置必須一一對應)
lst[0:3:2] = "太白"
print(lst) #['太',123,'白',456]
4.查
lst = ['alex',123,'wusir',456]
使用for迴圈進行查找
for i in lst:
print(i) #alex
123
wusir
456
通過索引查找
print(lst[1]) #123
5.列表的嵌套
# 通過索引取值
lst = [1,'太白','wusir',['麻花疼',['可口可樂'],'王健林']]
找到wusir
print(lst[2])
找到太白和wusir
print(lst[1:3])
找到可口可樂
print(lst[-1][-2][0])
找到太白的白字
print(lst[1][-1])
二.元組(tuple)
元組是有序的,不可變,支持索引,是一個不可變的列表
作用:用於存儲一些比較重要的信息,在配置文件時會使用.
s = ('abc',123,'alex',456)
元組不能增刪改,可以查(使用for迴圈)
三.range(範圍)
print(list(range(0,10))) #[0,1,2,3,4,5,6,7,8,9]
# 顧頭不顧尾
range(起始位置,終止位置)
range(終止位置)
range(起始位置,終止位置,步長)
for和range配合使用
例:列印100~1
for i in range(100,0,-1):
print(i)
列印1~100所有偶數
for i in range(0,101,2):
print(i)
讓用戶輸入三次姓名然後用列表列印出來
# while迴圈
lst = []
a = True
while a:
name = input("請輸入姓名:")
lst.append(name)
if len(lst) == 3:
a = False
print(lst)
#for迴圈
lst=[]
for i in range(3):
lst.append(input('請輸入姓名:'))
print(lst)
python2和python3的區別
- python2的range是返回一個列表(xrange和python3中的range是相似的)
- python3的range是一個可迭代對象,寫的是怎樣列印的時候就是怎樣
ps:
面試題:
lst = []
for i in lst:
lst.append('alex")
print(lst) #不會列印內容(lst是空的)
lst = [1,2]
for i in lst:
lst.append('alex')
print(lst) #迴圈列印lst中的內容(死迴圈)
lst = [1,2]
for i in lst:
lst.append('alex')
print(lst) #死迴圈(不會列印內容)
lst = []
for i in range(5):
lst.append([])
print(lst) #[[],[],[],[],[]]
lst = [1,2]
lst[0] = lst
print(lst) #[[...],2]