本篇是關于可迭代對象中的列表一些相關使用方法的記錄。
可迭代對象簡單描述:可以被for循環執行的對象(字符串,列表,元組,字典…)
value = "5+9" #是一個字符串
v1,v2 = value.split('+') #將'+'作為分隔符,前半部分賦值給v1,后半部分賦值給v2
v1 = int(v1)
v2 = int(v2)
v = v1+v2 #int()后就可以做運算了
print(v)
因為v1和v2都被轉化成數字型了,所有v結果自然是:14
li = [1,12,9,"age",["串串香",["19",10],"今麥郎"],"alex",True] #通過list類創建的一個對象liprint(li) #列表可以作為一個整體打印出來
print(li[2]) #通過索引2(即下標,從0開始)來取元素9print('=========================================')
# 通過切片來取值,取出的結果仍然是個列表
print(li[3:5]) #通過切片取3到5的元素,范圍是大于等于3,小于5,所以只有兩個元素
print(li[1:-1]) # -1是指最后一個元素,這里表示的范圍是大于等于1小于最后一個(不包含最后一個)print('=========================================')
#也支持for和while循環取值,即一個一個全部輸出
for item in li:print(item)
python編寫小程序、結果是:
li = [1,12,9,"age",["串串香",["19",10],"今麥郎"],"alex",True]
li[1] = [11,22,33,44] #通過下標修改
li[1:3] = [120,90] #通過切片修改
print(li)
#刪除某下標為1的元素,即刪除12:
del li[1]
print(li)
結果是:
[1, 120, 90, ‘age’, [‘串串香’, [‘19’, 10], ‘今麥郎’], ‘alex’, True]
[1, 90, ‘age’, [‘串串香’, [‘19’, 10], ‘今麥郎’], ‘alex’, True]
li = [1,12,9,"age",["是正文",["19",10],"龐麥郎"],"alex",True]
v = li[4][1][0][1] #類似四維數組
print(v)
答案是:9
s = "ajfskgahgkashgjhufywuyrlioqgfnjd"
new_li = list(s)
print(new_li)
大學python筆記整理、結果是:
[‘a’, ‘j’, ‘f’, ‘s’, ‘k’, ‘g’, ‘a’, ‘h’, ‘g’, ‘k’, ‘a’, ‘s’, ‘h’, ‘g’, ‘j’, ‘h’, ‘u’, ‘f’, ‘y’, ‘w’, ‘u’, ‘y’, ‘r’, ‘l’, ‘i’, ‘o’, ‘q’, ‘g’, ‘f’, ‘n’, ‘j’, ‘d’]
li = ["123","alex"]
v = "".join(li)
print(v)
結果是:123alex
li = [11,22,33,44]
li.append(5) #在li的后面追加一個5
li.append([66,77,"age"]) #也可以列表,元組或字典
print(li)
li.clear() #清空列表
li.extend([66,77,"age"])
li.extend("不得了") #則會將"不得了"分開成3個元素加入到列表中
print(li)
結果是:
[11, 22, 33, 44, 5, [66, 77, ‘age’]]
[66, 77, ‘age’, ‘不’, ‘得’, ‘了’]
Ps:不過在python3中,想要加入多個元素好像只能弄成列表,元組或者字典,ppend()和extend()不能直接傳入多個值
li = ["alex",True,43,22,54,"age",22]
v = li.copy() #拷貝一份到v
print(v)
v2 = li.count(22) #計算某元素出現的次數
print(v2)
python怎么遍歷列表?結果是:
[‘alex’, True, 43, 22, 54, ‘age’, 22]
2
li = [11,22,33,22,44]
v = li.index(22) #從前往后找,第一個與22匹配的位置
print(v)
li.insert(0,99) #在指定位置0插入元素99,即整個列表的前端
print(li)
結果是:
1
[99, 11, 22, 33, 22, 44]
li = [11,22,33,22,44]
v = li.pop()
print(v)
li.remove(22)
print(li)
v1 = li.remove(22)
print(v1)
結果是:
44
[11, 33, 22]
None
li_1 = [11,44,22,33,22]
li_1.reverse() #翻轉列表中的元素
print(li_1)
li_1.sort() #將列表元素排序,默認從小到大排
print(li_1)
li_1.sort(reverse=True) #從大到小排
print(li_1)li_2 = [55,22,00,'name?','age?',520]
st = str(li_2) #用str()將列表轉換成字符串類型
v = st.replace("name?","alex") #用'what?'替換元素'alex'
print(v)
python列表常用的五種方法,結果是:
[22, 33, 22, 44, 11]
[11, 22, 22, 33, 44]
[44, 33, 22, 22, 11]
[55, 22, 0, ‘alex’, ‘age?’, 520]
Ps:其實這樣的替換還不夠好,它只能替換一個元素,但我們可以這樣:
li=[5,'有','幸',1,'生','you','你']
dic={5:"我",1:"一","you":"有"} #字典+鍵值對
li=[dic[i] if i in dic else i for i in li]
print(li)
結果是:
[‘我’, ‘有’, ‘幸’, ‘一’, ‘生’, ‘有’, ‘你’]
這里是利用了鍵值對來替換多個元素,這種方法真的非常好用,
第三行代碼的簡單解釋:
#i是dic字典中的key(鍵),即 5,1,'you',dic[i]則是字典中的value(值)
for i in li:if i in dic:li[i] = dic[i]else:li[i] = i
#如果key是列表里的元素,就將dic[i]放進去,即鍵值對中的值
#否則就遍歷另外的key,再看是否滿足條件
這是屬于三元表達式的內容,詳情請參見文章:
初學者python筆記(迭代器、生成器、三元表達式、列表解析、send()與yield())
12、最大值、最小值、長度函數
13、列表的其他方法
del list[:]
與li = []
來實現清空列表版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态