列表练习题


print(1)
# 1.创建列表包含五个同学姓名
name1 = ["张三", "李四", "王五", "赵六", "毕七"]

print(2)
# 2.遍历列表
list1 = [1, 2, 4, 5]
for x in list1:
    print(x,end="")
print()

print(3)
# 3.把张三同学替换成李四
name = ["张三", "李四", "王五", "赵六", "毕七"]
name[0] = "李四"

print("#4开始")
# 4.遍历过程中不输出李四同学的姓名,如果遇到王五停止遍历
name = ["张三", "李四", "王五", "赵六", "毕七"]
for x in name:
    if x == "王五":
        break
    if name != "李四":
        print(x)



print(5)
# 5.遍历过程中只打印姓张的同学姓名
name = ["张三", "李四", "张五", "赵六", "毕七"]
for x in name:
    if x.startswith("张"):
        print(x)


print(6)

# 6.把所有姓张的同学改为刘
name = ["张三", "李四", "张五", "赵六", "毕七"]
for x in range(len(name)):
    if name[x].startswith("张"):
        name[x] = name[x].replace("张", "刘")
        print(name[x], end=" ")
    else:
        print(name[x], end=" ")


print()
print(7)
# 7.查看姓张的同学有几个

name = ["张三", "李四", "张五", "赵六", "毕七"]
num = 0
for x in name:
    if x.startswith("张"):
        num += 1
print(num)

print(8)
# 8.找到马云这个同学并删除
name = ["张三", "李四", "张五", "马云", "毕七"]
name.remove("马云")
print(name)

print(9)
# 9.找到包含“刚”的同学并统计几个
name = ["张三", "李四", "张五", "马刚", "毕七"]
num = 0
for x in name:
    if "刚" in x:
        num += 1
print("姓名包含刚的同学有", num, "个")

print(10)
# 10.把所有的同学名字加前缀1808班(for name in range(0,len(list)))
name = ["张三", "李四", "张五", "马刚", "毕七"]
for x in range(len(name)):
    name[x] = "1808班" + name[x]
print(name)

print(11)
# 11.创建列表五个1809班级同学姓名列表并与1808班级列表拼接生成新的列表list3
name = ["1809班张1", "1809班李2", "1809班张3", "1809班马4", "1809班毕5"]
name.extend(["1808班张三", "1808班李四", "1808班张五", "1808班马刚", "1808班毕七"])
print(name)


print(12)
# 12.在list3列表中查找1809的学生打印出来
list3 = ['1809班张1', '1809班李2', '1809班张3', '1809班马4', '1809班毕5', '1808班张三', '1808班李四', '1808班张五', '1808班马刚', '1808班毕七']
for x in list3:
    if x.startswith("1809"):
        print(x, end=" ")
print()


print(13)
# 13.list3查找1808班级姓王的同学姓名打印出来
list3 = ["1808班张1", "1809班李2", "1809班张3", "1808班王4", "1809班毕5",'1809班张1', '1809班李2', '1809班张3']
for x in range(len(list3)):
    if list3[x].startswith("1808班王"):
        print(list3[x])


print(14)
# 14.list3查看1808和1809班级姓王的同学各几个
list3 = ['1809班王1', '1809班李2', '1809班王3', '1809班马4', '1809班毕5', '1808班张三', '1808班王四', '1808班张五', '1808班马刚', '1808班毕七']
num1 = num2 = 0
for x in range(len(list3)):
    if list3[x].startswith("1808班王"):
        num1 += 1
    if list3[x].startswith("1809班王"):
        num2 += 1
print("1808班姓王的共%d个,180班姓王的共%d个" % (num1, num2))



print(15)
# 15.list3中姓名包含"美"的同学不打印,并替换成"美美"

name = ["张三", "李四", "张五", "马云", "毕七", "刘美美"]
for x in range(len(name)):
    if "美" in name[x]:
        name[x] = "美美"
    print(name[x], end=" ")

print()
print(16)
# 16.list3倒序打印出来
name = ["张三", "李四", "张五", "马云", "毕七", "刘美美"]
name.reverse()
print(name)

print(17)
# 17.打印list3中3-6位置的同学   并且姓名全部修改成"马化腾"
list3 = ["张三", "李四", "张五", "马云", "毕七", "刘美美", "anasd"]
print(list3[3:7])


print(18)
# 18.查看list3中姓名两个字和三个字的学生各几个
list3 = ["张三", "李四", "张五", "马云", "毕七", "刘美美", "anasd"]
for x in list3:
    if len(x) == 2:
        num1 += 1
    if len(x) == 3:
        num2 += 1
print("姓名两个字的有%d个,姓名三个字的有%d个" % (num1, num2))

print(19)
# 19.list3找出所有"马化腾"在列表中的位置没有的话给出提示

list3 = ["张三", "李四", "张五", "马云", "马化腾", "毕七", "刘美美", "anasd"]
num = 0
for x in range(len(list3)):
    if list3[x] == "马化腾":
        num += 1
        print("第%d个马化腾的索引位置为%d" % (num, x))
if num == 0:
    print("此列表中没有马化腾")

print(20)
# 20.list3中找出姓“刘的同学”并把他们的姓名倒序输出,找不到给出提示
list3 = ["张三", "李四", "张五", "马云", "马化腾", "毕七", "刘美美", "anasd"]
# for x in range(len(list3)):
#     if list3[x].startswith("刘"):
#        for y in range(len(list3[x])):
#            print(list3[len(list3[x])-y])


list3 = ['1809班王1', '1809班刘2', '1809班王3', '1809班马4', '1809班毕5', '1808班张三', '1808班王四', '1808班张五', '1808班马刚', '1808班毕七']
panduan = True
for x in range(len(list3)):
    a = list(list3[x])
    if a[5] == "刘":
        a = a[5:]
        a.reverse()
        b = "".join(a)   # list  转换为  string
        print(b)
        panduan =False
if panduan:
    print("该列表中没有姓刘的")
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值