19道Python列表和元祖的练习题

摘要:
1.创建一个名为name的空列表,并将old添加到其中_ driver,rain,jack,shanshan,peiqi,black_ Girl元素名称=[“old_driver”,“rain”,”jack“,”shanshan“,”peiqi“,”black_Girl“]打印(名称)2.名称列表中的black_插入alexnames。插入(名称

1.创建一个空列表,命名为names,往里面添加old_driver,rain,jack,shanshan,peiqi,black_girl元素

names = ["old_driver","rain","jack","shanshan","peiqi","black_girl"]
print(names)

2.往names列表里black_girl前面插入一个alex

names.insert(names.index("black_girl"),"alex")
print(names)

3.把shanshan的名字改成中文,张三

names[names.index("zhangsan")] = "张三"
print(names)

4.往names列表里rain的后面插入一个子列表,["oldboy","oldgirl"]

names.insert(names.index("rain")+1,["oldboy","oldgirl"])
print(names)

5.返回peiqi的索引值

print(names.index("peiqi"))

6.创建新列表[1,2,3,4,2,5,6,2],合并入names列表

names.extend([1,2,3,4,2,5,6,2])
print(names)

7.取出names列表中索引4-7的元素

print(names[4:7])

8.取出names列表中索引2-10的元素,步长为2

print(names[2:10:2])

9.取出names列表中最后3个元素

print(names[-3:])

10.循环names列表,打印每个元素的索引值,和元素

枚举

for index,name in enumerate(names):
    print("%s. %s" % (index,name)) 

计数

index = 0
for name in names:
    print("%s. %s" % (index, name))
    index += 1

11.循环names列表,打印每个元素的索引值,和元素,当索引值为偶数时,把对应的元素改为-1

for index,name in enumerate(names):
    if index % 2 == 0:
        names[index] = -1
print(names)

12.names里有3个2,请返回第2个2的索引值。不要人肉数,要动态找(提示,找到第一个2的位置,在次基础上再找第2个)

print(names.index(2,names.index(2)+1))

13.查找列表(或元祖或字典)中元素,移除每个元素的空格,并查找以 a 或 A 开头 并且以 c 结尾的所有元素

li = ["alec", " aric", "Alex", "Tony", "rain"]
tu = ("alec", " aric", "Alex", "Tony", "rain")
dic = {'k1': "alex", 'k2': ' aric',"k3": "Alex", "k4": "Tony"}
li = ["alec", " aric", "Alex", "Tony", "rain"]
 
for S in li:
    S = S.strip()
    prefix_a = S.startswith('a')
    prefix_A = S.startswith('A')
    suffix_c = S.endswith('c')
    if prefix_a or prefix_A and suffix_c:
        print('要查找的元素:%s' % S)
 
tu = ("alec", " aric", "Alex", "Tony", "rain")
 
for S in tu:
    S = S.strip()
    prefix_a = S.startswith('a')
    prefix_A = S.startswith('A')
    suffix_c = S.endswith('c')
    if prefix_a or prefix_A and suffix_c:
        print('要查找的元素:%s' % S)
 
 
dic = {'k1': "alex", 'k2': ' aric',"k3": "Alex", "k4": "Tony"}
 
for S in dic.values():
    S = S.strip()
    prefix_a = S.startswith('a')
    prefix_A = S.startswith('A')
    suffix_c = S.endswith('c')
    if prefix_a or prefix_A and suffix_c:
        print('要查找的元素:%s' % S)

14.写代码,有如下列表,按照要求实现每一个功能

li = ['alex','eric','rain']

计算列表长度并输出

li = ['alex','eric','rain']
v = len(li)
print(v)

列表中追加元素 “seven”,并输出添加后的列表

li = ['alex','eric','rain']
li.append('seven')
print(li)

请在列表的第 1 个位置插入元素 “Tony”,并输出添加后的列表

#Python学习交流群:531509025

li = ['alex','eric','rain']
li.insert(0,'Tony')
print(li)

请修改列表第 2 个位置的元素为 “Kelly”,并输出修改后的列表

li = ['alex','eric','rain']
li[1] = 'Kelly'
print(li)

请删除列表中的元素 “eric”,并输出修改后的列表

li = ['alex','eric','rain']
li.remove('eric')
print(li)

请删除列表中的第 2 个元素,并输出删除的元素的值和删除元素后的列表

li = ['alex','eric','rain']
v = li.pop(1)
print(v,li)

请删除列表中的第 3 个元素,并输出删除元素后的列表

li = ['alex','eric','rain']
li.pop(2)
print(li)

请删除列表中的第 2 至 4 个元素,并输出删除元素后的列表

li = ['alex','eric','rain','rain','rain']
del li[1:4]
print(li)

请将列表所有的元素反转,并输出反转后的列表

li = ['alex','eric','rain']
li.reverse()
print(li)

请使用 for、len、range 输出列表的索引

li = ['alex','eric','rain']
for i in range(len(li)):
    print(i)

请使用 enumrate 输出列表元素和序号(序号从 100 开始)

li = ['alex','eric','rain']
for i,v in enumerate(li,100):
    print(i,v)

请使用 for 循环输出列表的所有元素

li = ['alex','eric','rain']
for i in li:
    print(i)

15.写代码,有如下列表,请按照功能要求实现每一个功能

li = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446]

请根据索引输出“Kelly”

li = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446]
print(li[2][1][1])

请使用索引找到'all'元素并将其修改为“ALL”,如:li[0][1][9]...

li = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446]
li[2][2] = "ALL"
print(li)

16.写代码,有如下元祖,请按照功能要求实现每一个功能

tu = ('alex','eric','rain')

计算元组长度并输出

#Python学习交流群:531509025
tu = ('alex','eric','rain')
v = len(tu)
print(v)

获取元组的第 2 个元素,并输出

tu = ('alex','eric','rain')
v = tu[1]
print(v)

获取元组的第 1­‐2 个元素,并输出

tu = ('alex','eric','rain')
v = tu[0:2]
print(v)

请使用 for 输出元组的元素

tu = ('alex','eric','rain')
for i in tu:
    print(i)

请使用 for、len、range 输出元组的索引

for i in range(len(tu)):
    print(i)

请使用 enumrate 输出元祖元素和序号(序号从 10 开始)

tu = ('alex','eric','rain')
for i,v in enumerate(tu,10):
    print(i,v)

17.有如下变量,请实现要求的功能

tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])
  • 讲述元祖的特性

元组的一级元素不可被修改增加删除,有序,可迭代,可切片,可索引,可转换为列表。

  • 请问 tu 变量中的第一个元素 “alex” 是否可被修改?

不可被修改

  • 请问 tu 变量中的"k2"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 “Seven”
tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])
v = tu[1][2]["k2"]
v.append("Seven")
print(tu)
  • 请问 tu 变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素 “Seven”
k3对应的是元组,不可修改

18.现有商品列表如下:

products = [ ['iphone8',6888], ['MacPro', 14800], ['小米6',2499], ['coffee',31],['book',80],['Nike shoes',799]]

请打印出这样的格式:

-----------商品信息 ------------
0. iphone8 6888
1. MacPro 14800
2. 小米6 2499
3. coffee 31
4. book 80
5. Nike shoes 799
products = [ ['iphone8',6888], ['MacPro', 14800], ['小米6',2499], ['coffee',31],['book',80],['Nike shoes',799]]
print("商品信息".center(28,"-"))
for index,product in enumerate(products):
    print("%s.%s %s" %(index,product[0],product[1]))
    # print("{0}.{1} {2}".format(index,product[0],product[1]))

19.利用上题中的列表,写一个循环,不断的问用户想买什么,用户选择一个商品标号,就把对应的商品添加到购物车里,最终用户输入q退出时,打印购物车里的商品列表。

products = [ ['iphone8',6888], ['MacPro', 14800], ['小米6',2499], ['coffee',31],['book',80],['Nike shoes',799]]
 
shopping_cart = []  # 定义一个空的购物车
 
exit_flag = False
 
# while True:
while not exit_flag:
    print("商品信息".center(28, "-"))
    for index,product in enumerate(products):
        print("%s. %s %d" % (index,product[0],product[1]))
 
    product_choice = input("
请输入商品标号:
")
    if product_choice.isdigit(): #判断输入的字符串是否只包含数字
        product_choice = int(product_choice)  # 字符串转成整型
        if product_choice >= 0 and product_choice < len(products):
            shopping_cart.append(products[product_choice][0]) #增加到购物车列表
            print("
商品 %s 已添加到购物车
" % (products[product_choice][0]))
        else:
            print("商品标号有误,请重新输入")
    elif product_choice == "q":
        if len(shopping_cart) > 0:
            print("
您添加到购物车的商品如下:
")
            for index,product_cart in enumerate(shopping_cart):
                print("%s. %s" % (index,product_cart))
        else:
            print("
您的购物车为空!
")
        # break
        exit_flag = True #为真时候结束循环

免责声明:文章转载自《19道Python列表和元祖的练习题》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇一些常用软件的静默安装参数(nsis,msi,InstallShield,Inno)Microsoft RichCopy下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

如何比较版本号--Python实现

需求 在写一个程序Django项目的setup程序(初始化环境,比如设置PIP源,安装该项目依赖的各种模块等操作)遇到一个系统当前模块版本和项目所需版本的比较然后给出建议是忽略还是升级。我的要求是不仅仅比较版本号是否一致以及返回最大版本号,而且还要给出建议是升级(当前系统包的版本号小于项目需要的版本号)还是忽略(当前系统包的版本号大于等于项目需要的版本号)...

基于MSAA的自动化封装和设计—python版(转)

MSAA也就是Microsoft© Active Accessibility,是微软90年代推出的一套技术。事实上,这套东西的初衷是为了供残疾人使用windows系统,比如放大镜,鼠标事件等等。这套东西后来被广泛使用在自动化测试中,也就是我们常说的IAccessible 接口,由于它为自动化测试提供了方便,IBM也扩展了这套接口,IAccessible2(...

python + Django 的forloop功能试验讲解

一、forloop功能详解记录 遇到一个问题困扰了我好久,结果还是知识盲区造成的。下边记录一下。 通过return forloop可以返回前端循环中的索引值 二、forloop大概功能 forloop是Django模板中一个功能,主要是可以计算循环的对象的索引值(大白话大概是这么个意思) 三、试验 1、创建一个视图函数,返回一个列表: def testfo...

基础方法或属性: 列表,元组,字典,字符串,集合及内置函数等(注:只有英文名)

列表 list append clear copy count extend index insert pop remove reverse sort 元组 tuple count index 字典 dict clear copy fromkeys get items keys pop popitem setdefault update values 字...

高效率的排列组合算法《编程珠矶》python实现

组合算法 本程序的思路是开一个数组,其下标表示1到m个数,数组元素的值为1表示其下标代表的数被选中,为0则没选中。 首先初始化,将数组前n个元素置1,表示第一个组合为前n个数。 然后从左到右扫描数组元素值的“10”组合,找到第一个“10”组合后将其变为 “01”组合,同时将其左边的所有“1”全部移动到数组的最左端。 当第一个“1”移动到数组的m-n的位置,...

权限管理--设计分析以及具体细节

说起权限我们大家都知道,不一样的角色会有不一样的权限。比如就像学生管理系统一样,管理员,老师,学生之间的权限都是不一样的,那么展示的页面也是不一样的。所以,我们现在来看看具体操作。 目标:生成一个独立的组件,到哪都能用 一、先创建一个 项目,建一个app01和rbac的应用 二、表结构设计 1、先看配置文件合适不,给创建的rbac在配置文件里面设置一下找到...