day4 列表 增、删、改、查 元组 range

列表 增、删、改、查 
元组
range
列表

#增

#三种方法 append insert extand
#方法一 append
l1 = ['alex', 'wusir', 'taibai', 'egon', '景女神', '文周老师', '日天']l1.append('小温')
print(l1)
l1.append(['a',1,'文'])
print(l1)

  

['alex', 'wusir', 'taibai', 'egon', '景女神', '文周老师', '日天', '小温']
['alex', 'wusir', 'taibai', 'egon', '景女神', '文周老师', '日天', '小温', ['a', 1, '文']]

 应用场景 给名单增加新的 成员

name_list = ['张三','李四']
while 1:
    name_new = input('请输入新员工是的姓名:').strip()
    if  name_new.upper() == 'Q':break
    name_list.append(name_new)
print(name_list)
 
请输入新员工是的姓名:zhangsan 
请输入新员工是的姓名:李四
请输入新员工是的姓名:q
['张三', '李四', 'zhangsan', '李四']

  


# 方法二 insert

l1 = ['alex', 'wusir', 'taibai', 'egon', '景女神', '文周老师', '日天']
l1.insert(1,'元宝')
print(l1)

  

['alex', '元宝', 'wusir', 'taibai', 'egon', '景女神', '文周老师', '日天']
#方法三extend
l1 = ['alex', 'wusir', 'taibai', 'egon', '景女神', '文周老师', '日天']
l1.extend('abcdef')
print(l1)

  

'alex', 'wusir', 'taibai', 'egon', '景女神', '文周老师', '日天', 'a', 'b', 'c', 'd', 'e', 'f']

 #删

#删除的四种方法
#pop remove clear del
#方法一 pop 按照索引号 将其对应的元素 删除掉

l1 = ['alex', 'wusir', 'taibai', 'egon', '景女神', '文周老师', '日天']
l1.pop(0)
print(l1.pop(0))
print(l1)

  

wusir
['taibai', 'egon', '景女神', '文周老师', '日天']

  

#方法二remove 按照 元素 将该元素从列表中移除

l1 = ['alex', 'wusir', 'taibai', 'egon', '景女神', '文周老师', '日天']
l1.remove('alex')
print(l1)

  

['wusir', 'taibai', 'egon', '景女神', '文周老师', '日天']

  



#方法三 clear 直接将列表清空 相当于把瓶子里面的水倒掉

l1 = ['alex', 'wusir', 'taibai', 'egon', '景女神', '文周老师', '日天']
l1.clear()
print(l1)

  

[]

 #方法4 del del分为3种方式


#第一种del 直接将列表从内存中清除 打印都没法打印 相当于把瓶子扔掉了

l1 = ['alex', 'wusir', 'taibai', 'egon', '景女神', '文周老师', '日天']
del l1
print(l1)

  报错!!

#第二种del 按照索引 将索引对应的元素冲列表中删除
l1 = ['alex', 'wusir', 'taibai', 'egon', '景女神', '文周老师', '日天']
del l1[0]
print(l1)

  

['wusir', 'taibai', 'egon', '景女神', '文周老师', '日天']

  

#第三种del 按切片 将对应的元素从列表中切除

l1 = ['alex', 'wusir', 'taibai', 'egon', '景女神', '文周老师', '日天']
del  l1[:2]
print(l1)

  

['taibai', 'egon', '景女神', '文周老师', '日天']

 #改

#改的三种方法

#第一种方法
#把 值 赋给需要改动的位置
l1 = ['alex', 'wusir', 'taibai', 'egon', '景女神', '文周老师', '日天']
l1[-1] = '文'
print(l1)

  

['alex', 'wusir', 'taibai', 'egon', '景女神', '文周老师', '文']

  #第二种方法

#把 值 赋给切片切掉的位置
l1 = ['alex', 'wusir', 'taibai', 'egon', '景女神', '文周老师', '日天']
l1[:2] = ['chenwen','文']
print(l1)

  

['chenwen', '文', 'taibai', 'egon', '景女神', '文周老师', '日天']

  


#把列表前面两个元素切掉 然后再赋值 注意赋值的时候是**逐个迭代**的赋值
#拆分成最小单元 逐个进行赋值

l1 = ['alex', 'wusir', 'taibai', 'egon', '景女神', '文周老师', '日天']
l1[:2] = 'abcdefg'
print(l1)

  

['a', 'b', 'c', 'd', 'e', 'f', 'g', 'taibai', 'egon', '景女神', '文周老师', '日天']

  #第三种方法

#将列表  切片+步长 再进行赋值
# 此时就需要 元素个数相同 一对一进行逐个赋值
l1 = ['alex', 'wusir', 'taibai', 'egon', '景女神', '文周老师', '日天']
l1[:5:2] = '123'
print(l1)

  

['1', 'wusir', '2', 'egon', '3', '文周老师', '日天']

  



#查
#索引,元素,切片,切片+步长
#for循环
l1 = ['alex', 'wusir', 'taibai', 'egon', '景女神', '文周老师', '日天']
for i in l1:
    print(i)

  

alex
wusir
taibai
egon
景女神
文周老师
日天

  


#列表的其他常用处理方法
#len()
l1 = ['alex', 'wusir', 'taibai', 'egon', '景女神', '文周老师', '日天']
print(len(l1))

  

7

  

#count
#计算某个元素出现的次数
l1 = ['alex','alex','wusir', 'taibai', 'egon', '景女神', '文周老师', '日天']
print(l1.count('alex'))

  

2

  


#index
#通过元素 来 找该元素在列表中的索引
l1 = ['alex', 'wusir', 'taibai', 'egon', '景女神', '文周老师', '日天']
print(l1.index('taibai'))

  

2

 #sort

#对于纯数字的列表进行从小到大的排列
l2 = [1, 4, 52, 7, 1, 47, 1, 4, 1, 5, 2]
l2.sort()#这只是一部操作 没有返回值
print(l2.sort())
print(l2)

  

None
[1, 1, 1, 1, 2, 4, 4, 5, 7, 47, 52]

  


#sort
#反向排序
l2 = [1, 4, 52, 7, 1, 47, 1, 4, 1, 5, 2]
l2.sort(reverse=True)
print(l2)

  

[52, 47, 7, 5, 4, 4, 2, 1, 1, 1, 1]

  

#reverse()
#不需要排序
#只是将前后顺序颠倒
l2 = [1, 4, 52, 7, 1, 47, 1, 4, 1, 5, 2]
l2.reverse()
print(l2)

  

[2, 5, 1, 4, 1, 47, 1, 7, 52, 4, 1]

  


#课堂练习

# 1, 找到alex的e元素,并打印
l3 = ['alex', 'wusir', ['taibai',99,'ritian'], 20]
print(l3[0][2])

  

e
# 2, 将wusir变成大写。
l3 = ['alex', 'wusir', ['taibai',99,'ritian'], 20]
l3[1] = l3[1].upper()
print(l3)

  

['alex', 'WUSIR', ['taibai', 99, 'ritian'], 20]
# 3, 给此列表['taibai',99,'ritian'] 追加一个元素,'文周'
l3 = ['alex', 'wusir', ['taibai',99,'ritian'], 20]
l3.append('文周')
print(l3)

  

['alex', 'wusir', ['taibai', 99, 'ritian'], 20, '文周']

  

# 4,将 'taibai' 首字母大写
l3 = ['alex', 'wusir', ['taibai',99,'ritian'], 20]
l3[2][0] = l3[2][0].capitalize()
print(l3)

  

['alex', 'wusir', ['Taibai', 99, 'ritian'], 20]

 # 5,将 99 通过数字加1 的方式变成100,并放回原处。

l3 = ['alex', 'wusir', ['taibai',99,'ritian'], 20]
l3[2][1] = l3[2][1]+1
print(l3)

  

['alex', 'wusir', ['taibai', 100, 'ritian'], 20]

  


#tuple
#元组 只读列表 只允许查询 不能增改查
#应用场景 一些非常重要的数据 不允许修改

#索引
tu1 = ('alex',100,True,[1,2,3],{'name':'太白'},(22,33))
print(tu1[0])
print(tu1[0:2])
print(tu1[::2])

  

alex
('alex', 100)
('alex', True, {'name': '太白'})

 #for 循环

tu1 = ('alex',100,True,[1,2,3],{'name':'太白'},(22,33))
for i in tu1:
    print(i)

  

alex
100
True
[1, 2, 3]
{'name': '太白'}
(22, 33)

 #index len count

#把每个元素的 索引值打印出来
tu1 = ('alex',100,True,[1,2,3],{'name':'太白'},(22,33))
for i in tu1:
    print(tu1.index(i))

  

0
1
2
3
4
5

  

#元组中的元素不能修改 但是元素中的子元素(元素孙子)可以修改
tu1 = ('alex',100,True,[1,2,3],{'name':'太白'},(22,33))
tu1[3].append('chenwen')
print(tu1)

  

('alex', 100, True, [1, 2, 3, 'chenwen'], {'name': '太白'}, (22, 33))

#range
#范围可控制的可迭代对象 可以类比成 列表
for i in range(0,10):#顾头不顾尾 10不会打印
    print(i)

  

0
1
2
3
4
5
6
7
8
9

 

 for i in range(0,20,2):#20不会打印

    print(i)

  

0
2
4
6
8
10
12
14
16
18
for i in range(10,0,-1):#0不会打印

    print(i)

  

10
9
8
7
6
5
4
3
2
1
#将列表中元素的索引值 逐个输出

#方法一
l1 = ['alex', 'wusir', 'taibai', 'egon', '景女神', '文周老师', '日天']
for i in range(0,len(l1)):
    print(i)

  

0
1
2
3
4
5
6

  


#方法二
l1 = ['alex', 'alex', 'wusir', 'taibai', 'egon', '景女神', '文周老师', '日天']
for i in l1:
    print(l1.index(i))
#这有一个弊端 如果列表中存在相同的元素 按照元素找索引的话 只会返回第一个元素的索引值

  

0
0
2
3
4
5
6
7

  




#实现一个加法运算器
content = input('请输入:')
list  = content.split('+')
i = 0
sum = 0
while i <len(list):
    sum = sum + int(list[i].strip())
    i += 1
print(sum)

  

请输入:4+4  +89+  4545
4642

  




















猜你喜欢

转载自www.cnblogs.com/cavalier-chen/p/9439525.html