博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第2章 Python基础-字符编码&数据类型 列表&元祖 练习题
阅读量:4710 次
发布时间:2019-06-10

本文共 6192 字,大约阅读时间需要 20 分钟。

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("shanshan")] = "姗姗"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 = 0for 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] = -1print(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"}

#!/usr/bin/env python# -*- coding:utf-8 -*-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”,并输出添加后的列表 
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”

#!/usr/bin/python# -*- coding:utf-8 -*-li = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446]print(li[2][1][1])
  • 请使用索引找到'all'元素并将其修改为“ALL”,如:li[0][1][9]...

#!/usr/bin/python# -*- coding:utf-8 -*-li = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446]li[2][2] = "ALL"print(li)

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

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

  • 计算元组长度并输出
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("\n请输入商品标号:\n")    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("\n商品 %s 已添加到购物车\n" % (products[product_choice][0]))        else:            print("商品标号有误,请重新输入")    elif product_choice == "q":        if len(shopping_cart) > 0:            print("\n您添加到购物车的商品如下:\n")            for index,product_cart in enumerate(shopping_cart):                print("%s. %s" % (index,product_cart))        else:            print("\n您的购物车为空!\n")        # break        exit_flag = True #为真时候结束循环

转载于:https://www.cnblogs.com/wushuaishuai/p/8410926.html

你可能感兴趣的文章
微信二维码支付-模式一(PC端,解决中文乱码问题)
查看>>
SentOS安装redis
查看>>
其他博客
查看>>
QPS
查看>>
.NET-"/"应用程序中的服务器错误
查看>>
资源搜索引擎
查看>>
JAVA语法基础——数据类型
查看>>
html5 事件
查看>>
证券相关基础概念
查看>>
长按移动cell
查看>>
android:layout_gravity 和 android:gravity 的区别
查看>>
杭电1061
查看>>
mysql join优化
查看>>
thinkphp3.2 批量添加数据
查看>>
How to: Cancel a Task and Its Children
查看>>
VS2013 F12无法转到函数的定义处,总是从“元数据”获取的问题 ——解决方法...
查看>>
Cookie
查看>>
Python列表list对象方法总结
查看>>
Codeforces 1172A Nauuo and Cards
查看>>
1001种玩法 | Tryton:一个通用商务框架
查看>>