python学习笔记 day04 列表增删改查
寫了一個python文件,想在終端中運行:windows+r(或者cmd)輸入python+想要運行的py文件所在的目錄 即可。
pycharm的安裝
參考博客:
https://www.jianshu.com/p/042324342bf4
https://blog.csdn.net/zhizunyu2009/article/details/81541652
激活地址:
http://idea.lanyus.com/
?
知識點小結
1.有時候我們需要用戶輸入age,salary等信息,輸入的數據應該是數字組成的,由于input輸入的信息都是str類型,所以我們可以使用age.isdigit()來檢驗輸入的數據必須合格~;
2.如果程序執行到某一步,想要退出程序,可以使用exit("error,and will quit~);
3.python3中是沒有int 和 long 之分的;
?
列表增刪改查
之前說過對于字符串的操作都會產生一個新的字符串,但是列表的操作比如append卻是對原列表進行操作;
append()方法:
作用于原來列表,在列表的末尾增加元素;
L=['xuanxuan','heheh','keek'] while True:name=input("please input a name:")if name=='q':breakelse:L.append(name) print(L)?
insert()方法:
需要提供的參數是要插入的元素,以及該元素想要插入的索引位置
L=['xuanxuan','keke','xixi','dongdong'] L.insert(2,'mama') print(L)運行結果:
['xuanxuan', 'keke', 'mama', 'xixi', 'dongdong']?
extend()方法:
需要提供的參數是一個可迭代的對象!,最終插入的結果是在列表的末尾依次插入該可迭代對象中的元素
L=['xuanxuan','keke','xixi','dongdong'] L.extend('123') L.extend([4,5,6]) print(L)運行結果:
['xuanxuan', 'keke', 'xixi', 'dongdong', '1', '2', '3', 4, 5, 6]注意上面當extend()中的參數是list對象時,插入到原列表的元素是list中的一個個元素!而不是[1],[2],[3]這種結構
L=['xuanxuan','keke','xixi','dongdong'] L.extend(123) print(L)運行結果:
TypeError: 'int' object is not iterable是因為int不是可迭代對象!,不能作為extend方法的參數,因為123 int類型不是由1 2 3 三個數組成的,而是123是一個數字,整體
pop()方法:按索引刪除,有返回值
用于刪除list的元素,傳入的參數是所要刪除元素的索引,不寫索引,默認刪除最后一個元素,并且該方法是有返回值的,返回值就是所要刪除的元素值
L=['xuanxuan','keke','xixi','dongdong'] L.pop(1) print(L)運行結果:
['xuanxuan', 'xixi', 'dongdong']?
L=['xuanxuan','keke','xixi','dongdong'] L.pop() #不寫參數,默認刪除最后一個元素 print(L)運行結果:
['xuanxuan', 'keke', 'xixi']remove():按照元素刪除,沒有返回值
L=['xuanxuan','keke','xixi','dongdong'] L.remove('xuanxuan') print(L)運行結果:
['keke', 'xixi', 'dongdong']clear():清空列表,會返回一個空的list
L=['xuanxuan','keke','xixi','dongdong'] L.clear() print(L)運行結果:
[]del():從內存中刪除列表
L=['xuanxuan','keke','xixi','dongdong'] del(L) print(L)由于L已經被刪除了,所以再運行只會報錯
del L[a:b]:?可以刪除一塊內容,切片刪除
L=['xuanxuan','keke','xixi','dongdong'] del L[:3] print(L)運行結果:
['dongdong']改元素:可以直接按照索引改值:
L=['xuan','ke','fang'] L[0]='xuanxuan' print(L) ['xuanxuan', 'ke', 'fang']改元素可以按照切片來修改:效果就是會把迭代對象的每一個元素都填進去
L=['xuanxuan','keke','fangfang','xiaxia'] L[:2]='嘻哈可愛' print(L)運行結果:(就是把原來0 1 位置的元素去掉,用新的屬于迭代對象中的元素去填充)
['嘻', '哈', '可', '愛', 'fangfang', 'xiaxia']?
所以如果按照索引來修改,元素需要對應(只能是一個),如果是按照切片來修改,前后元素個數不需要對應,只是會把索引對應位置的元素去掉,用迭代對象中的元素去填充!
列表和字符串共有的一些方法:
? ? len():? ? ?list長度;
.count():? ?求某一個元素出現的次數
.index():? 查找某一個元素的索引(字符串除了index()外還有find()方法)
.sort():? ? ?對list進行排序(有比較意義的)(默認從小到大排序)
.sort(reverse=True) :參數reverse改為True后,可以從大到小倒排序
.reverse():可以實現原有list的反轉(不是排序)
L=[2,6,1,9,3,7,0,8] print(len(L)) print(L.count(2)) print(L.index(8)) # L.sort() # print(L) # L.sort(reverse=True) # print(L) L.reverse() print(L)列表的嵌套
L=['xuanxuan','啊哈','你好'] #如果想把列表中的啊哈改為啊嘻,可以有兩種方法: # L[1]='啊嘻' # L[1][1]='嘻' #錯誤做法,因為L[1]是str類型,字符串是不能復制操作的 L[1]=L[1].replace('哈','嘻') #右邊是把L[1]也就是'啊嘻'這個str中的‘哈’替換成‘嘻’,得到的新的字符串復制給L[1] print(L)這里在強調一下,str字符串對象是不可以賦值操作的!要想修改字符串中的值可以使用str.replace()方法~
?
轉載于:https://www.cnblogs.com/xuanxuanlove/p/9497047.html
總結
以上是生活随笔為你收集整理的python学习笔记 day04 列表增删改查的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Unity消息简易框架 Advanced
- 下一篇: 比赛-模拟赛 (17 Aug, 2018