首页 > 编程语言 > 详细

python的第四天学习(列表跟元组)

时间:2019-12-12 14:21:27      阅读:109      评论:0      收藏:0      [点我收藏+]

一、列表list

1、列表的新增元素(三种方法)

>>>第1种方法(append 增加到最后):

技术分享图片
li = [Peter,Henrry,Wode,鸭子,xiaoxin]
li.append(小鸡)
li.append(1)
print(li)
View Code

例:新增名单(重复输入名单,当输入Q时停止输入)

技术分享图片
li = [Peter,Henrry,Wode,鸭子,xiaoxin]
while 1:
    l1 = input(请输入姓名:)
    if l1.upper() == Q:
        break
    li.append(l1)
print(li)
View Code

>>>第2种方法(insert 插入到指定位置):

技术分享图片
li = [Peter,Henrry,Wode,鸭子,xiaoxin]
li.insert(4,小鸡)
print(li)
View Code

>>>第3种方法(extend 迭代插入(分解元素插入最后)-->>int不能迭代,列表可以):

技术分享图片
li = [Peter,Henrry,Wode,鸭子,xiaoxin]
li.extend(小王)
li.extend([1,2,3])   #数字列表直接分解到最小元素
print(li)
View Code

2、列表的删除元素(四种方法)

>>>第1种方法:(pop 按照索引删除元素,注:pop有返回值,可以看删除了什么元素,不填索引,默认删除最后一个元素)

技术分享图片
li = [Peter,Henrry,Wode,鸭子,xiaoxin]
name = li.pop(4)
name = li.pop()  # 默认删除最后一个元素
print(name,li)
View Code

>>>第2种方法:(remove 按照元素去删除)

技术分享图片
li = [Peter, Henrry, Wode, 鸭子, xiaoxin]
li.remove(鸭子)
print(li)
View Code

>>>第3种方法:(clear 清空列表,剩下一个空列表)

技术分享图片
li = [Peter, Henrry, Wode, 鸭子, xiaoxin]
li.clear()
print(li)
View Code

>>>第4种方法:(del删除列表)

技术分享图片
li = [Peter, Henrry, Wode, 鸭子, xiaoxin]
del li
print(li)
View Code
#衍生 切片删除
技术分享图片
li = [Peter, Henrry, Wode, 鸭子, xiaoxin]
del li[0:3]
print(li)
View Code

3、列表的修改(2种方法)

>>>第1种方法:(根据索引进行修改)

技术分享图片
li = [Peter, Henrry, Wode, 鸭子, xiaoxin]
li[4] = 小凯
print(li)
View Code

>>>第2种方法:(根据切片修改(修改为最小元素))

技术分享图片
li = [Peter, Henrry, Wode, 鸭子, xiaoxin]
li[0:2] = 小哥哥
print(li)
View Code
衍生(根据列表修改,修改为列表元素)
技术分享图片
li = [Peter, Henrry, Wode, 鸭子, xiaoxin]
li[0:2] = [小鸡,大鹅,1]
print(li)
View Code

4、查看列表元素

>>>1、利用for循环:

技术分享图片
li = [Peter, Henrry, Wode, 鸭子, xiaoxin]
for i in li:
    print(i)
View Code

>>>2、切片查看:

技术分享图片
li = [Peter, Henrry, Wode, 鸭子, xiaoxin]
print(li[0:2])
View Code

>>>3、公共方法

1、查看元素数量

技术分享图片
li = [Peter, Henrry, Wode, 鸭子, xiaoxin]
l = len(li)
print(l)
View Code

2、查看元素出现次数

技术分享图片
li = [Peter, Henrry, Wode, 鸭子, xiaoxin]
num = li.count(鸭子)
print(num)
View Code

3、查看元素索引--->index,查无报错

技术分享图片
li = [Peter, Henrry, Wode, 鸭子, xiaoxin]
print(li.index(鸭子))
View Code

5、列表的排序

技术分享图片
li = [2,1,4,6,7,8,9,]
li.sort()            #默认从小到大
print(li)
li.sort(reverse=True)  #从大到小
print(li)
li.reverse()  #元素翻转
print(li)
View Code

6、列表的嵌套

技术分享图片
li = [liming,大王,萧山水,鸭子,[peter,alex,88],23]
print(li[1][1])  #找到山
s = li[0].capitalize()  #找到第一个元素,首字母变大写
li[0] = s
print(li)
li[3]=li[3].replace(,哥哥)  #找到鸭子的子改成哥哥
print(li)
li[4][0] =li[4][0].upper()  #找到peter进行大写之后放回原处
print(li)
s = li[4][2] + 12   #找到88变成100,放回去(方法1)
li[4][2] = s
print(li)
li[4][2] = 100    #找到88变成100,放回去(方法2)
print(li)
View Code

二、元组-->只读列表,可循环查询,可切片(元组元素不能改,元素列表可能可以改)

技术分享图片
tu = [1,2,3,[1,2,3,xiaomao],鸭子,peter]
print(tu[2])    #可读
print(tu[2:4])   #可切片
for i in tu:      #可循环
    print(i)
tu[3][3] = tu[3][3].upper()  #可改元祖中列表的元素
print(tu)
tu[3].append(小鸡)   #元祖中列表增加元素
print(tu)
View Code

1、可迭代 join

技术分享图片
s = peter
s1 = ~.join(s)    #可迭代(p~e~t~e~r),int 跟bool 值不可作为迭代元素
print(s1)
View Code

2、列表---> 字符串

技术分享图片
li = [Peter, Henrry, Wode, 鸭子, xiaoxin]
s = /.join(li)
print(s)
View Code

3、range 数字列表

技术分享图片
for i in range(2,101):   #自定义数字顺序长度
    print(i)
for i in range(10):      #自定义数字长度
    print(i)
for i in range(1,10,2):  #自定义数字、步长
    print(i)
for i in range(10,0,-1):  #逆序
     print(i)
for i in range(0,10,-1):  #不报错不输出
     print(i)
View Code

三、作业题

1、输出列表各个元素,遇到子列表照样照样输出子列表元素

#方法1:

技术分享图片
li =[1,2,3,[1,2,3,xiaomao],鸭子,peter]
for i in li:
    if type(i) == list:
        for k in i:
            print(k)
    else:
        print(i)
View Code

#方法2:

技术分享图片
li =[1,2,3,[1,2,3,xiaomao],鸭子,peter]
for i in range(len(li)):
    if type(li[i]) == list:
        for j in li[i]:
            print(j)
    else:print(li[i])
View Code

2、查找列表li中的元素,移除每个元素的空格,并找出以’A’或者’a’开头,并以’c’结尾的所有元素,并添加到一个新列表中,最后循环打印这个新列表。

#方法1:
技术分享图片
li = [taibai ,alexC,AbC ,egon, Ritian, Wusir,  aqc]
b=[]
for i in li:
    s=i.strip()
    if (s.startswith("A")or s.startswith("a"))and s.endswith("c"):
        b.append(s)
for x in b:
    print(x)
View Code
#方法2
技术分享图片
li = [taibai ,alexC,AbC ,egon, Ritian, Wusir,  aqc]
b=[]
for i in li:
    s=i.strip()
    if s[0].upper() == A and s[-1] == c:
        b.append(s)
for x in b:
    print(x)
View Code

3、开发敏感词语过滤程序,提示用户输入评论内容,如果用户输入的内容中包含特殊的字符:

#敏感词列表 li = ["苍老师","东京热",”武藤兰”,”波多野结衣”]

# 则将用户输入的内容中的敏感词汇替换成***,并添加到一个列表中;

# 如果用户输入的内容没有敏感词汇,则直接添加到上述的列表中。

技术分享图片
li=["苍老师","东京热","武藤兰","波多野结衣"]
new_li= []
info = input("评论")  # 苍老师,东京热 法律框架第三
for i in li:
    if i in info:
        l = len(i)
        info=info.replace(i,**l)
new_li.append(info)
print(new_li)
View Code

 

 

python的第四天学习(列表跟元组)

原文:https://www.cnblogs.com/xiegf87/p/12028181.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!