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. Tomcat : Invalid character found in the request target

    Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC ...

  2. iOS笔记之网络

    用POST方式上传数据时,数组怎么处理? NSError *error; NSData *jsonData = [NSJSONSerialization dataWithJSONObject:data ...

  3. 如何将Virtualbox和VMware虚拟机相互转换[译文211] - 转

    迁移到其他的虚拟机程序可行会吓倒一批人.如果你已经按照自己的喜好设置好了虚拟机,那么就不需要再从头安装——你可以迁移现有的虚拟机. VirtualBox 和 VMware 使用不同的虚拟机格式,不过他 ...

  4. 一个Self Taught Learning的简单例子

    idea: Concretely, for each example in the the labeled training dataset xl, we forward propagate the ...

  5. IO综合练习--文件切割和文件合并

    有时候一个视频文件或系统文件太大了,上传和下载可能会受到限制,这时可以用文件切割器把文件按大小切分为文件碎片, 等到要使用这个文件了,再把文件碎片合并成原来的文件即可.下面的代码实现了文件切割和文件合 ...

  6. streamsets 数据流设计

    streamsets 支持branch(分支)&& merge(合并)模式的数据流 branch 数据流 如下图: 我们可以根据数据包含的字段进行拆分,不同的数据流处理自己关注的数据 ...

  7. iOS 基础类解析 - NSDate

    版权声明:本文为博主原创文章,未经博主同意不得转载.转载联系 QQ 30952589,加好友请注明来意. https://blog.csdn.net/sleks/article/details/248 ...

  8. Jenkins在windows环境下安装无法安装插件

    在windos平台下安装jenkins要是无法安装插件,tomcat控制台报以下错误: 解决方法: 进入到jenkins里头,Jenkins -- 管理插件 -- 高级 -- 升级站点,如图所示: 将 ...

  9. Django中MySQL读写分离技术

    最近需要用到Django的MySQL读写分离技术,查了一些资料,把方法整理了下来. 在Django里实现对MySQL的读写分离,实际上就是将不同的读写请求按一定的规则路由到不同的数据库上(可以是不同类 ...

  10. brave-zipkin的日志源码分析

    其实在zipkin的日志里面作为发送端日志两个,sr,ss,这个日志是servlet产生的:接收端日志是四个,分别是cr,sr,ss,cs:cr和cs分别是上游的日志的信息:ss和sr是接收端输出的日 ...