列表的增删改查:day4

1.list增删改查 

l1 = [1,'alex',True,[1,2,3],(2,3,4),{'name':'alex'}]
l1 = ['alex',True,'wusir','ritian','taibai',3,2]
#索引 切片
# print(l1[0],type(l1[0]))
# print(l1[1],type(l1[1]))
# print(l1[0:3:2])
# print(l1[0:4])

增 append
l1 = ['alex',True,'wusir','ritian','taibai',3,2]
#增 append
l1.append('小黑') #添加字符串
l1.append([1,2,3])#添加列表
print(l1)
 小练习  在列表中添加元素,遇到"Q"或"q"退出,最后打印列表
l1 = ['alex',True,'wusir','ritian','taibai',3,2]
while True:
    username = input('>>>/Q或q退出')    # 用户交互
    if username.upper() == 'Q':break        #判断跳出循环条件
    l1.append(username)                           #将新元素添加到列表
print(l1)

 

插入 .insert  通过索引来添加元素,这个位置是可以自己决定的.没有返回值

l1 = ['alex',True,'wusir','ritian','taibai',3,2]
#insert 插入
l1.insert(2,'egon')   #在索引为2的位置添加个元素
print(l1)

 


xpend  迭代的添加,把字符串或列表拆开添加,,没有返回值

l1 = ['alex',True,'wusir','ritian','taibai',3,2]
# extend
l1.extend('太白金星')           #添加元素
print(l1.extend([2,3,4]))      #添加数据 并输出返回值
print(l1)

结果 :

 删除 

 .pop删除  通过索引删除元素, 默认删除最后一个元素,并且有返回值.

l1 = ['alex',True,'wusir','ritian','taibai',3,2]
#删除pop
l1.pop() #默认删除最后一个
ret = l1.pop(4)  #删除索引为4的数据
print(ret)  # 有返回值
print(l1)

 

 结果:

l1 = ['alex',True,'wusir','ritian','taibai',3,2]
# remove 按照元素去删除
ret = l1.remove('alex')
print(ret)
print(l1)

 

  .remove删除,按照元素删除,没有返回值.

结果:

清空列表 .clear  但是列表还是存在的,

 l1 = ['alex',True,'wusir','ritian','taibai',3,2]
#clear  清空列表
l1.clear()
print(l1)

 

结果:

删除列表.del方法,列表被彻底删除.还可以用索引和切片删除.

l1 = ['alex',True,'wusir','ritian','taibai',3,2]
# del  功能1 删除列表
del l1
print(l1)

 

结果:

 

l1 = ['alex',True,'wusir',3,2,4,5,'ritian','taibai',3,2]
del l1[0]   #删除第一个元素
print(l1)
del l1[0:3]  #在第一次基础上删除索引为0到2的元素
print(l1)
del l1[1::2]  #在第二次基础上,从索引为1的元素到最后按步长为2删除
print(l1)
复制代码

 

.del  索引,切片删除

 

  改 按照索引和切片去改:

l1 = ['alex','taibai',True,'wusir','ritian',3,2,True,]
# #改
# 按照索引去改
l1[0] = '男神'                       #用"男神"替换索引为0的元素
print(l1)
# 按照切片去改
l1[0:2] = ['屌丝','alex']           #列表添加元素
print(l1)
l1[0:2] = '化工哥,树脂'               #字符串遍历添加
print(l1)
l1[0:2] = ('化工哥,树脂')             #元祖遍历添加
print(l1)
l1[0:2] = {"化工哥":"树脂","guu":82}  #字典添加键值,并且无序
print(l1)

 

结果:

  查 用索引查 和用for循环查

l1 = ['alex','taibai',True,'wusir','ritian',3,2,True,]
# 查 按切片,按索引去查
print(l1[0])     #输出索引为0的数据
print(l1[0:3])   #输出索引在0到2的数据
l1 = ['alex','taibai',True,'wusir','ritian',3,2,True,]
 for i in l1: # for 循环查print(i)

 

 结果:

    5.  长度 和 查找数据出现次数   补充列表中True也表示1

l1= [1,3,6,8,7,4,True,9,10]
# len 长度  数据个数
print(len(l1))
# count 出现次数
ret = l1.count(True)
print(ret)

 

结果:

  6.  通过元素找索引,找不到会报错

l1= [1,3,6,8,7,4,True,9,10]
# index 通过元素找索引
print(l1.index(8))  #找"8"这个元素的索引

print(l1.index(0))

 

结果:

   7. 如果列表中数据是纯数字的话还可以进行排序,sort 从小到大  ,sort(reverse) 从大到小

l1= [1,3,6,6,8,7,4,0,9,10]
# sort 从小到大
l1.sort()
print(l1)
#sort(reverse)  从大到小
l1.sort(reverse=True)
print(l1)

 

结果:

   8. 列表内元素反转,

l2=["a",1,5,"p"]
#倒叙
l2.reverse()
 print(l2)

 

结果:

  9.  列表的嵌套 能实现增删改查

l1 = ['小新','egon','wusir',[99,'tiabai','ritian',[1,2,3]],2]
a = l1[1].capitalize()
l1[1] = a
l1[1] = l1[1].capitalize()
print(l1)

 

结果:

查找数据

l1 = ['小新','egon','wusir',[99,'tiabai','ritian',[1,2,3]],2]
print(l1[0])
print(l1[3])

 

结果:

将一个元素字母全变大写

l1 = ['小新','egon','wusir',[99,'tiabai','ritian',[1,2,3]],2]
l = l1[3]
s = l[1].upper()
l1[3][1] = s
l1[3][1] = l1[3][1].upper()
print(l1)

 

结果:

 

   10.  元祖  元祖的索引查找和for循环   元祖内的数据是不可更改的,但是嵌套列表或字典时,列表内或字典里的数据能改变

tu = (1,2,'wusir','taibai',[2,3,4,],True)
for i in tu:
    print(i)
print(tu[2:])

 

结果:

  11. range当做:范围列表[],列表中的元素是数字,且可控的有效数字范围 一般与for循环连用

从一到十取数据

for i in range(1,10):  #[1,2,3,4...9]  顾首不顾尾
  print(i)

 

结果:

for i in range(1,10,2):  # [1,3,5,7,9]
    print(i)

 

结果:

 

 倒序输出数字

for l in range(3,-2,-1):
    print(l)

 

结果:

应用  依次输出例表中元素 如果元素内有列表,把子列表中元素也遍历输出

 l1 = [1,2,3,'alex',[2,3,'wusir'],7] 
for i in l1:
     if type(i) == list:
         for j in i: 
            print(j)    
 else:
     print(i)

 

结果:

   12. Python pass是空语句,是为了保持程序结构的完整性。pass 不做任何事情,一般用做占位语句。

# 输出 Python 的每个字母
for letter in 'Python':
   if letter == 'h':
      pass
      print '这是 pass 块'
   print '当前字母 :', letter

print "Good bye!"

 

结果:

 

posted @ 2018-01-24 18:34  虫洞小鳗鱼  阅读(324)  评论(1编辑  收藏  举报