Python列表练习题
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列表练习题的更多相关文章
- day5.python列表练习题
写代码,有如下列表,按照要求实现每一个功能 li = [“alex”, “WuSir”, “ritian”, “barry”, “wenzhou”] 1.计算列表的长度并输出 print(len(li ...
- python面试_总结03_列表练习题
1.列表练习题 完成下列列表相关的编程题,先运行下列的test函数,在完成每道题之后,都可以通过调用test函数检测所写函数对错. def test(got, expected): if got == ...
- python入门练习题1
常见python入门练习题 1.执行python脚本的两种方法 第一种:给python脚本一个可执行的权限,进入到当前存放python程序的目录,给一个x可执行权限,如:有一个homework.py文 ...
- python字典练习题
python字典练习题 写代码:有如下字典按照要求实现每一个功能dict = {"k1":"v1","k2":"v2", ...
- python 列表排序
转自http://www.iplaypython.com/jinjie/jj114.html reverse()方法 将列表中元素反转排序,比如下面这样>>> x = [1,5,2, ...
- python列表、元祖、字典
python列表 ['a','1','vs2'] 里面的值可以改 python元祖 ('a','1','css','sdf12') 里面的值不能改 python字典 {'s ...
- Python列表、元组、字典和字符串的常用函数
Python列表.元组.字典和字符串的常用函数 一.列表方法 1.ls.extend(object) 向列表ls中插入object中的每个元素,object可以是字符串,元组和列表(字符串“abc”中 ...
- Python 列表
python 列表 列表的特点 1.列表是一种可变的数据类型,这点是跟元组有区别的 2.列表中的值是有序的,并且可存放重复的值,这点跟set有区别的 3.python中的列表类似于其它语言中的数组 4 ...
- python 列表生成器
python 列表生成器 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 一个循环 在C语言等其他语言中,for循环一般是这样的 ...
随机推荐
- Android 遍历全国的地区二(获取天气)
根据上次的内容 1. 界面布局 weather_layout.xml <LinearLayout xmlns:android="http://schemas.android.com/a ...
- C++设计模式之备忘录模式
备忘录模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态.这样以后就可将该对象恢复到原先保存的状态[DP].举个简单的例子,我们玩游戏时都会保存进度,所保存的进度以文件的 ...
- docker把web jar包制作成镜像
1.新建一个spring boot项目 并使用maven打成jar包,放到linux(centos7)环境上. 运行 java -jar hello.jar 后结果如下(这里项目对外提供的端口是90 ...
- [爬虫] 学Scrapy,顺便把它的官方教程给爬下来
想学爬虫主要是因为算法和数据是密切相关的,有数据之后可以玩更多有意思的事情,数据量大可以挖掘挖掘到更多的信息. 之前只会通过python中的request库来下载网页内容,再用BeautifulSou ...
- 日志异常:java.lang.NoClassDefFoundError: Could not initialize class org.slf4j.impl.StaticLoggerBinder
今天启动开发的项目,碰到了一个日志上的bug:java.lang.NoClassDefFoundError: Could not initialize class org.slf4j.impl.Sta ...
- DesignPattern(一)设计模式的六个基本原则
使用设计模式的根本原因是适应变化,提高代码复用率,使软件更具有可维护性和可扩展性.并且,在进行设计的时候,也需要遵循以下几个原则:单一职责原则.开放封闭原则.里氏代替原则.依赖倒置原则.接口隔离原则. ...
- pandas groupby 使用
so useful~ refer to: http://kekefund.com/2016/06/17/pandas-groupby/
- c语言 判断文件是否存在
使用access函数 功能: 检查调用进程是否可以对指定的文件执行某种操作. 用法: #include <unistd.h> #include <fcntl.h> int ac ...
- cratedb geo 查询
cratedb支持的geo 查询还相对比较全,开发基本的功能已经够用了 安装cratedb 使用docker docker run -d -p 4200:4200 crate 创建数据库 创建表 CR ...
- SSH学习之四 OpenSSH安全
OpenSSH是Linux/Unix下一款加密通讯软件.同一时候也是我们用来远程控制Linux/Unixserver重要的必装软件. 对于各版本号的Linux及Unix发行版而言,O ...