python的列表的增删改查,元组的嵌套,及for循环,range的使用

列表

列表是一个可变的数据类型,有[]表示,每一项元素用逗号隔开,里面什么都能装,能装对象的对象,可以装大量的数据

列表的索引和切片

列表和字符串一样,也有索引和切片,区别就是字符串切出来的是字符串,列表切出来的事列表.

下标从0开始 [起始位置:结束位置:步长]

列表的增删改查

1.增加

  • append() 追加,在屁股后面增加
lst = ["周杰伦","王力宏","许家印"]
lst.append("马化腾") #在屁股后面添加,在原有基础上进行操作
print(lst) >>>  ["周杰伦","王力宏","许家印","马化腾"]

  

  • insert(index,元素)  在index位置添加元素
lst = ["周杰伦","王力宏","许家印"]
lst.insert(2,'林俊杰')
print(lst) >>> ['周杰伦', '王力宏', '林俊杰', '许家印']

 

  • extend() 迭代添加
lst = ["周杰伦","王力宏","许家印"]
lst.extend("周润发")#迭代添加,元素添加
print(lst) >>> ["周杰伦","王力宏","许家印","","润,""]
lst.extend(["周润发"]) >>> ["周杰伦","王力宏","许家印","周润发"]

 

2. 删除

  • pop(index) 按照位置删除元素

lst = ["周杰伦","王力宏","许家印"]
data = lst.pop(2)#返回被删除数据,索引位置删除
print(data) >>> 许家印
print(lst) >>> 许家印 ["周杰伦","王力宏"]

 

  • remove(元素) 直接删除元素,若删除一个列表不存在的元素,则会报错.

lst = ["周杰伦","王力宏","许家印"]
lst.remove("许家印")#删除元素,不会返回删除数据
print(lst) >>>["周杰伦","王力宏"]

 

  • del 切片删除.

lst = ["周杰伦","王力宏","许家印"]
 del lst[起始位置:结束位置:步长] #切片删除

del lst[1:3] >>> 切掉列表中索引1到3位置的元素
print(lst) >>> ["周杰伦"]

 

  • clear() 清空列表   清除

 

3. 修改

  • 索引修改

lst = ["劲舞团","qq炫舞","QQ华夏","魔兽世界","反恐精英","地下城与勇士"]
lst[2] = "添加内容"
print(lst) >>> ["劲舞团","qq炫舞","添加内容","QQ华夏","魔兽世界","反恐精英","地下城与勇士"]

 

  • 切片修改

lst = ["劲舞团","qq炫舞","QQ华夏","魔兽世界","反恐精英","地下城与勇士"]
lst[1:3] = ["添加内容"] #先删除后添加
print(lst) >>> ["劲舞团","添加内容","魔兽世界","反恐精英","地下城与勇士"]



lst = ["劲舞团","qq炫舞","QQ华夏","魔兽世界","反恐精英","地下城与勇士"]
lst[1:5:2] = ["魔域","华夏幸福"] #切片修改的时候,如果步长不是1,你要注意考虑元素的个数
print(lst) >>>['劲舞团','魔域','QQ华夏','华夏幸福','反恐精英','地下城与勇士']

 

4. 查询

lst = ["劲舞团","qq炫舞","QQ华夏","魔兽世界","反恐精英","地下城与勇士"]
for el in lst:   # element(元素)
    print(el) >>> 劲舞团
qq炫舞
QQ华夏
魔兽世界
反恐精英
地下城与勇士

 

 

el:element(元素)的简写

5. 常用操作

  •  sort() 排序 #默认升序

lst = [1,5,8,23,32,11,41,10,22,35]
lst.sort()
print(lst) >>> [1, 5, 8, 10, 11, 22, 23, 32, 35, 41]

 

  • reverse=True #降序

lst = [1,5,8,23,32,11,41,10,22,35]
lst.sort(reverse = True)
print(lst) >>> [41, 35, 32, 23, 22, 11, 10, 8, 5, 1]

 

  •  reverse() 翻转

lst = ["家庭","年龄","爱好","姓名",]
lst.reverse()
print(lst) >>> ['姓名', '爱好', '年龄', '家庭'

 

 

 

 

3. len() # 长度

4. 列表的嵌套

降维. 一层一层看

 

5. 元组

只读列表. 只能看啥也不能干.

使用()表示元组

如果元祖中只有一个元素(元素, )

空元组: tuple()

元祖是一个可迭代对象, 可以使用for循环

tu = (3,) # 元组中如果只有一个元素,需要在括号里元素后写一个逗号
tu = tuple() # 空元组,不能写成 tu = ()

虽然元组是个只读列表,只可以查,可以循环,可以切片,就是不能更改,但元组里面的元素的子元素是可以更改的,增删改查都可以

元组也有count(),index(),len等方法

tu = (3,"很少见啊是","加好时机卡刷","奥斯卡的萨科技和")
print(len(tu)) >>> 4
print(tu.index("加好时机卡刷")) >>> 2 #这个元素所在的索引
print(tu.count(3)) >>> 1  # 3在tu中出现的次数为 1

 

6. range

range(n) 从0到n-1

range(m,n) 从m到n-1

range(m,n,q) 从m到n-1 每q个取1个

综上就是切片

for i in range(1,5):

    print(i) 
>>> 1
   2
   3
   4 

for i in range(1,100,3):
    print(i) >>> #输出的结果为1到100所有的奇数

 

 

 

7. 使用range和for循环来获取列表中的索引

  • 基本结构

for i in range(len(列表)):

  print(i) # i 索引

  print([i]) #  列表及元素

for i in range(len(lst)):
    print(i) >>>  0 ,1,2,3,4,5 # i就是lst的索引
    print(lst[i])  #打印出列表中每个元素及其所对应的索引
>>>
0
劲舞团
1
qq炫舞
2
QQ华夏
3
魔兽世界
4
反恐精英
5
地下城与勇士

 

posted @ 2018-07-31 16:50  张大仙er  阅读(542)  评论(0编辑  收藏  举报