python編寫小程序,初學者python筆記(列表的食用方法)

 2023-10-04 阅读 31 评论 0

摘要:本篇是關于可迭代對象中的列表一些相關使用方法的記錄。 可迭代對象簡單描述:可以被for循環執行的對象(字符串,列表,元組,字典…) input()方法接收的其實只是字符串 a = input(“請輸入:”) #輸入的是一個字符串類型&#x

本篇是關于可迭代對象中的列表一些相關使用方法的記錄。
可迭代對象簡單描述:可以被for循環執行的對象(字符串,列表,元組,字典…)

  1. input()方法接收的其實只是字符串
    a = input(“請輸入:”) #輸入的是一個字符串類型,
    b = int(input(“請輸入:”)) #將輸入的函數轉化為數字類型
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

  1. 列表(list類)(特征:中括號,可修改),取值方法
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編寫小程序、結果是:
11

  1. 列表可以修改
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]

  1. 列表類似于C語言中的數組,并且可以多維
li = [1,12,9,"age",["是正文",["19",10],"龐麥郎"],"alex",True]
v = li[4][1][0][1]  #類似四維數組
print(v)

答案是:9

  1. 字符串轉列表時,會把每一個元素當成列表中的元素
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’]

  1. 將列表拼接成一個字符串
li = ["123","alex"]
v = "".join(li)
print(v)

結果是:123alex

  1. append() 方法與 extend() 方法
    一個是將傳入的數據當一個整體加入到列表中,一個是將傳入的對象當成多個對象加入到列表中
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()不能直接傳入多個值

  1. 拷貝與計算次數
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

  1. index() 索引與 insert() 插入
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]

  1. 刪除之pop()remove()
    pop刪除為某個值并獲取刪除的值到某個變量(指定索引,默認為最后一個)
    remove刪除為從左邊開始數刪除遇到的第一個指定元素,返回值是None
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

  1. 列表的翻轉排序替換
    列表其實沒有replace()這個方法,如果需要替換的話,必須先轉換成字符串才可以實現replace()
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、最大值、最小值、長度函數

  • len(list): 統計列表內的元素個數
  • max(list) :取列表元素中的最大值
  • min(list) :取列表元素中的最小值

13、列表的其他方法

  • list.count(obj):返回obj元素在列表中出現的次數
  • list.sort(cmp=None, key=None, reverse=False):對原列表進行排序,如果指定參數,則使用比較函數
  • list.clear():清空列表
    也可以使用del list[:]li = []來實現清空列表
  • b = a.copy():復制列表,此處是將a列表復制一份后賦值給b

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/111674.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息