1、创建一个空列表,命名为names,往里面添加 Lihua、Rain、Jack、Xiuxiu、Peiqi和Black元素。

#!-*- coding:utf-8 -*-

names = ["Lihua","Rain","Jack","Xiuxiu","Peiqi","Black"]

2、往(1)中的names列表里Black前面插入一个Blue。

#!-*- coding:utf-8 -*-

names = ["Lihua","Rain","Jack","Xiuxiu","Peiqi","Black"]
names.insert(-1,"Blue")

3、把names列表中Xiuxiu的名字改成中文。

#!-*- coding:utf-8 -*-

names = ["Lihua","Rain","Jack","Xiuxiu","Peiqi","Black"]
names.insert(-1,"Blue")
names[names.index("Xiuxiu")] = "秀秀"

4、往names列表中Rain后面插入一个子列表["oldboy","oldgirl"]。

#!-*- coding:utf-8 -*-

names = ["Lihua","Rain","Jack","Xiuxiu","Peiqi","Black"]
names.insert(-1,"Blue")
names[names.index("Xiuxiu")] = "秀秀"
names.insert(2,["oldboy","oldgirl"])
print(names) # 验证

5、返回names列表中Peiqi的索引值(下标)。

#!-*- coding:utf-8 -*-

names = ["Lihua","Rain","Jack","Xiuxiu","Peiqi","Black"]
names.insert(-1,"Blue")
names[names.index("Xiuxiu")] = "秀秀"
names.insert(2,["oldboy","oldgirl"])
print(names.index("Peiqi"))

6、创建新列表[1,2,3,4,2,5,6,2,],合并到names列表中。

#!-*- coding:utf-8 -*-

names = ["Lihua","Rain","Jack","Xiuxiu","Peiqi","Black"]
names.insert(-1,"Blue")
names[names.index("Xiuxiu")] = "秀秀"
names.insert(2,["oldboy","oldgirl"])
print(names.index("Peiqi")) numbers = [1,2,3,4,2,5,6,2]
names.extend(numbers) # extend()方法表示合并
print(names)

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

#!-*- coding:utf-8 -*-

names = ["Lihua","Rain","Jack","Xiuxiu","Peiqi","Black"]
names.insert(-1,"Blue")
names[names.index("Xiuxiu")] = "秀秀"
names.insert(2,["oldboy","oldgirl"])
print(names.index("Peiqi")) numbers = [1,2,3,4,2,5,6,2]
names.extend(numbers) # extend()方法表示合并
print(names) print(names[4:8])

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

#! -*-coding:utf-8 -*-
names = ["Lihua","Rain","Jack","Xiuxiu","Peiqi","Black"]
names.insert(-1,"Blue")
# print(names)
names[names.index("Xiuxiu")] = "秀秀"
# print(names)
names.insert(2,["oldboy","oldgirl"])
# print(names)
print(names.index("Peiqi")) numbers = [1,2,3,4,2,5,6,2]
names.extend(numbers)
print(names) print(names[2:11:2]) # 列表切片“顾头不顾尾”,步长表示在指定范围间隔取值

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

#! -*-coding:utf-8 -*-
names = ["Lihua","Rain","Jack","Xiuxiu","Peiqi","Black"]
names.insert(-1,"Blue")
# print(names)
names[names.index("Xiuxiu")] = "秀秀"
# print(names)
names.insert(2,["oldboy","oldgirl"])
# print(names)
print(names.index("Peiqi")) numbers = [1,2,3,4,2,5,6,2]
names.extend(numbers)
print(names) print(names[-3:]) # [-3:]表示取值范围为从列表的倒数第三个到末尾

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

#!-*- coding:utf-8 -*-

names = ["Lihua","Rain","Jack","Xiuxiu","Peiqi","Black"]
names.insert(-1,"Blue")
names[names.index("Xiouxiu")] = "秀秀"
names.insert(2,["oldboy","oldgirl"])
print(names.index("Peiqi")) numbers = [1,2,3,4,2,5,6,2]
names.extend(numbers)
print(names) # 验证 #方法1
for i in names:
print(names.index(i),i)
# 方法2 enumerate()枚举
for index,i in enumerate(names):
print(index,i)

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

#!-*- coding:utf-8 -*-

names = ["Lihua","Rain","Jack","Xiuxiu","Peiqi","Black"]
names.insert(-1,"Blue")
names[names.index("Xiuxiu")] = "秀秀"
names.insert(2,["oldboy","oldgirl"])
print(names.index("Peiqi")) numbers = [1,2,3,4,2,5,6,2]
names.extend(numbers)
print(names) # 验证 for index,i in enumerate(names):
if index%2==0:
names[index] = -1
print(index,i)
print(names)

12、names列表里有3个2,请返回第二个2的索引值,不要人肉,要动态找。

#!-*- coding:utf-8 -*-

names = ["Lihua","Rain","Jack","Xiuxiu","Peiqi","Black"]
names.insert(-1,"Blue")
names[names.index("Xiuxiu")] = "秀秀"
names.insert(2,["oldboy","oldgirl"])
print(names.index("Peiqi")) numbers = [1,2,3,4,2,5,6,2]
names.extend(numbers)
print(names) # 验证 # 方法1 循环
count = 0
for index,i in enumerate(names):
# print(index,i)
if i == 2:
count += 1
while count == 2:
print(index)
break
else:
continue
# 方法2
print(names.index(2,names.index(2)+1))

13、现有商品列表如下:

  products =   [["iphone",6888],["MacPro",14800],["小米6",2499],["Coffee",31],["Book",60],["Nike",699]],需打印出以下格式:

------  商品列表 ------
0 iphone 6888
1 MacPro 14800
2 小米6 2499
3 Coffee 31
4 Book 60
5 Nike 699

  参考答案如下:

#!-*- coding:utf-8 -*-

products = [["iphone",6888],["MacPro",14800],["小米6",2499],["Coffee",31],["Book",60],["Nike",699]]
print("--------- 商品列表 --------")
for index,i in enumerate(products):
print("%s %s %s"%(index,i[0],i[1]))

14、根据(13)里的products列表写一个循环,不断询问用户想买什么,用户选择一个商品编号,就把对应的商品添加到购物车里,最终用户输入q退出时,打印购买的商品列表。

  参考答案如下:

#!-*- coding:utf-8 -*-
products = [["iphone",6888],["MacPro",14800],["小米6",2499],["Coffee",31],["Book",60],["Nike",699]]
shop_car = [] # 用户购物车
shop_cost = 0 # 用户花费的金额
exit_log = False # 标志位,默认设为False,退出
while not exit_log:
print("------ 商品列表 ------")
for index,i in enumerate(products):
print("%s %s %s"%(index,i[0],i[1]))
user_choice = input("\n输入你想购买的产品序号(按“q”退出):")
if user_choice.isdigit():
# 判断用户输入的是否是数字
user_choice = int(user_choice) #强制转换为数字
if user_choice>=0 and user_choice < len(products):
# 判断用户购买的商品是否在商品列表中
shop_car.append(products[user_choice]) # 加入购物车
shop_cost += products[user_choice][1] # 计算费用
print("\n %s 已经加入你的购物车\n"%products[user_choice])
else:
print("抱歉,此商品不存在\n")
elif user_choice == "q":
# 用户选择退出
if len(shop_car)>0:
# 判断用户是否购买了商品
print("\n------ 你的购物车 ------")
for index,i in enumerate(shop_car):
# index和i为临时变量,与前一个for循环里index和i作用的列表不同,故可重用
print("%s %s"%(i[0],i[1]))
print("\n你此次购物的花费合计是:%s元\n"%shop_cost)
exit_log = True # 退出购物
else:
exit_log = True # 未购买商品,不打印购物车商品,直接退出
else:
# 输入不合法
exit_log = True

Python列表练习题的更多相关文章

  1. day5.python列表练习题

    写代码,有如下列表,按照要求实现每一个功能 li = [“alex”, “WuSir”, “ritian”, “barry”, “wenzhou”] 1.计算列表的长度并输出 print(len(li ...

  2. python面试_总结03_列表练习题

    1.列表练习题 完成下列列表相关的编程题,先运行下列的test函数,在完成每道题之后,都可以通过调用test函数检测所写函数对错. def test(got, expected): if got == ...

  3. python入门练习题1

    常见python入门练习题 1.执行python脚本的两种方法 第一种:给python脚本一个可执行的权限,进入到当前存放python程序的目录,给一个x可执行权限,如:有一个homework.py文 ...

  4. python字典练习题

    python字典练习题 写代码:有如下字典按照要求实现每一个功能dict = {"k1":"v1","k2":"v2", ...

  5. python 列表排序

    转自http://www.iplaypython.com/jinjie/jj114.html reverse()方法 将列表中元素反转排序,比如下面这样>>> x = [1,5,2, ...

  6. python列表、元祖、字典

    python列表   ['a','1','vs2']       里面的值可以改 python元祖   ('a','1','css','sdf12')   里面的值不能改 python字典   {'s ...

  7. Python列表、元组、字典和字符串的常用函数

    Python列表.元组.字典和字符串的常用函数 一.列表方法 1.ls.extend(object) 向列表ls中插入object中的每个元素,object可以是字符串,元组和列表(字符串“abc”中 ...

  8. Python 列表

    python 列表 列表的特点 1.列表是一种可变的数据类型,这点是跟元组有区别的 2.列表中的值是有序的,并且可存放重复的值,这点跟set有区别的 3.python中的列表类似于其它语言中的数组 4 ...

  9. python 列表生成器

    python 列表生成器 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 一个循环 在C语言等其他语言中,for循环一般是这样的 ...

随机推荐

  1. 008PHP文件处理——文件操作r w (用的比较多) a x(用的比较少) 模式 rewind 指针归位:

    <?php /** *文件操作r w (用的比较多) a x(用的比较少) 模式 rewind 指针归位: */ /*$a=fopen('a.txt','r'); echo fread($a,f ...

  2. 修改Intelij IDEA的maven依据下载为国内镜像(阿里)

    1.win7环境,默认情况下在用户目录的.m2下自己新建setting文件.QQ群交流:697028234 .m2\settings.xml 2.settings.xml文件内容为: <sett ...

  3. Linux 需要掌握的一些命令

    详情: 1. tar 创建一个新的tar文件 $ tar cvf archive_name.tar dirname/ 解压tar文件 $ tar xvf archive_name.tar 查看tar文 ...

  4. 如何创建管理员权限的CMD命令提示符窗口

    最近在使用netstat -anob命令时提示 请求的操作需要提升. 总结了几种创建管理员权限的CMD命令行的方法. 创建临时管理员权限的CMD Win8系统: 按下windows徽标,直接输入cmd ...

  5. C# 后台线程更新UI控件

    /********************************************************************************* * C# 后台线程更新UI控件 * ...

  6. 火狐浏览器调试ajax异步页面时报错NS_ERROR_UNEXPECTER

    第一个直观的结论就是ajax调用出错,如果其他浏览器却调用没报错,而且正常返回值了,那么就是Firefox浏览器的问题了: 如果其他浏览器也没余完全正常执行,而是出现和我上一篇ajax向后台请求数据, ...

  7. Codeforces 580B: Kefa and Company(前缀和)

    http://codeforces.com/problemset/problem/580/B 题意:Kefa有n个朋友,要和这n个朋友中的一些出去,这些朋友有一些钱,并且和Kefa有一定的友谊值,要求 ...

  8. 最佳C/C++编辑器 source insight3

    C/C++嵌入式代码编辑器source insight3下载地址 http://www.sourceinsight.com/eval.html 注册码:SI3US-361500-17409

  9. CMS初步认识

    一CMS本质 [1]基本思想是:分离内容的管理和设计,页面显示的风格和框架存储在模板里.至于页面显示的内容存储在数据库中或一个独立的文件中.当一个用户请求页面时,各部分联合生成一个标准的 HTML 页 ...

  10. Tomcat的最大并发数

    日常应用中,单台Tomcat能支持最大的并发数是多少? 作为一个有经验的Java Web开发人员对这个问题应该有大概的印象,并会让问题再具体点,比如Tomcat版本,运行模式,并发请求允许的最大响应时 ...