1.将['alex','eric',’rain’]用下划线拼接成字符串。(['alex','eric',123]呢?)

 li=['alex','eric','rain']
 v='_'.join(li)
 print(v)

当列表是字符串和数字组合时:

 li=['alex','eric',123]    #先将数字转化为字符串。join()是字符串函数
 li[2]=str(li[2])
 v='_'.join(li)
 print(v)

分析:join方法将字符串或者字符拼接,不能将数字和字符串拼接,故要先将列表的数字元素转化为字符串。列表元素修改直接索引方式赋值。

2.查找列表中的元素,移除每个元素的空格,并查找以a或A开头,并以c结尾的所有元素。

 li = ['alec', 'aric', 'Alex', 'Tony', 'rain']
 tu = ('alec', 'aric', 'Alex', 'Tony', 'rain')
 dic = {'k1':'alec', 'k2':'aric', 'k3':'Alex', 'k4':'Tony'}
 #移除空格 lstrip
 result=[]
 for item in li:
     if item[0]== 'a' or item[0]=='A' and item[-1]=='c':
         result.append(item)
 print(result)
 for item in tu:
     if item[0]== 'a' or item[0]=='A' and item[-1]=='c':
         result.append(item)
 print(result)
 for item in dic.values():
     if item[0]== 'a' or item[0]=='A' and item[-1]=='c':
         result.append(item)
 print(result)

解析:循环+if条件判断,生成空列表,将找到的元素用append方法加入。

3.写代码,有如下列表,按照每个功能实现:

li=['alex','eric',’rain’]a.计算长度并输出b.列表中追加元素’seven’,并输出添加后的列表。c.请在列表的第一个位置插入元素’Tony’,并输出添加后的列表。d.请修改列表的第二个位置的元素为’Kelly’,并输出添加后的列表。e.请删除列表的元素’eric’,并输出修改后的列表。f.请删除列表的第二个元素,并输出删除元素的值和删除元素后的列表。g.请删除列表的第三个元素,并输出删除元素后的列表。h.请删除列表的第二个至第四个元素,并输出删除元素后的列表。i.请将列别所有的元素反转,并输出删除元素后的列表。j.请使用for、len、range输出列表的索引k.请使用enumerate输出列表元素和序号(序号从100开始)l.请使用for循环输出列表所有元素
 li=['alex','eric','rain']
 # a.计算长度并输出
 v=len(li)
 print(v)
 # b.列表中追加元素’seven’,并输出添加后的列表。
 li.append('seven')
 print(li)
 # c.请在列表的第一个位置插入元素’Tony’,并输出添加后的列表。
 li.insert(0,'Tony')
 print(li)
 # d.请修改列表的第二个位置的元素为’Kelly’,并输出添加后的列表。
 li[1]='Kelly'
 print(li)
 # e.请删除列表的元素’eric’,并输出修改后的列表。
 del li[1]
 print(li)
 # f.请删除列表的第二个元素,并输出删除元素的值和删除元素后的列表。#pop()可以返回删除元素的值
 v=li.pop(1)
 print(v,li)
 # j.请使用for、len、range输出列表的索引
  li=['alex','eric','rain']
 for i in range(len(li)):
     print(i)
 # k.请使用enumerate输出列表元素和序号(序号从100开始)   enumerate(sequence, [start=0])
 li = ['alex', 'eric', 'rain']
 # list(enumerate(li,start=100))
 v=list(enumerate(li,start=100))
 print(v)
 # l.请使用for循环输出列表所有元素
 li = ['alex', 'eric', 'rain']
 for item in li:
     print(item)

解析:len、索引、enumerate方法(有助于由列表生成字典)

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

li=[‘hello’,’seven’,[‘mom’,[‘h’,’kelly’],’all’],123,446]

a.根据索引输出’Kelly’

b.使用索引找到’all’元素并将其修改为’ALL’

 li=['hello','seven',['mom',['h','kelly'],'all'],123,446]
 # v = li.capitalize(**li[2][1][1])
 # v= li[2][1][1]
 t=v.capitalize()   #capitalize(self)
 print(t)
 ###############b###############
 v=li[2][2]
 t=v.upper()
 print(t)

解析:capitalize(self);upper()

6.tu=(‘alex’,[11,22,{‘k1’:’v1’,’k2’:[‘age’,’name’],’k3’:(11,22,33)},44]),请问tu变量中的’k2’对应什么类型?是否可以被修改?如果可以,请在其中添加一个元素’seven’

 tu=('alex',[11,22,{'k1':'v1','k2':['age','name'],'k3':(11,22,33)},44])
 tu[1][2]['k2'].append('seven')      #append()直接追加到self,不需要再赋值。
 print(tu)

解析:元祖第一级元素不能修改;append

7.字典

 dic={'k1':'v1','k2':'v2','k3':[11,22,33]}
 #a.请循环输出所有的key
 for item in dic.keys():
     print(item)
 #b.请循环输出所有的value
 for item in dic.values():
     print(item)
 #c.请循环输出所有的key和value
 for item in dic.items():
     print(item)
 #d.请在字典中添加一个键值对,’k4’:’v4’,输出添加后的字典
 dic.update({'k4':'v4'})
 print(dic)
 #e.请修改字典中’k1’对应的值为’alex’,输出修改后的字典
 dic = {'k1': 'v1', 'k2': 'v2', 'k3': [11, 22, 33]}
 dic['k1'] = 'alex'
 print(dic)
 #f.请在k3对应的值中追加一个元素44,输出修改后的字典
 dic['k3'].append(44)
 print(dic)
 #g.请在k3对应的值的第一个位置插入元素18,输出修改后的字典
 dic['k3'].insert(0,18)
 print(dic)

解析:keys;values;items;update;索引

8.转换

 #a .将字符串s=‘alex’转换成列表
 s='alex'
 s=list(s)
 print(s)
 #b .将字符串s=‘alex’转换成元组
 s='alex'
 s=tuple(s)
 print(s)
 #c . 将列表li=[‘alex’,‘seven’]转换成元组
 li=['alex','seven']
 li=tuple(li)
 print(li)
 #d .将元组tu=(‘alex’,‘seven’)转换成列表
 li=('alex','seven')
 li=list(li)
 print(li)
 #e 将列表li=[‘alex’,‘seven’]转换成字典且字典的key按照10开始向后递增   #################################
 li=['alex','seven']
 dic = { }
 for k,v in enumerate(li,start=10):
     dic[k]=v
 print(dic)

解析:enumerate(*,[start]=0);tuple;list;dict

9.元素分类

有如下值集合[11,22,33,44,55,66,77,88,99,90],将所有大于66的值保存在字典的第一个key中,将小于66的值保存至第二个key中。

即:{‘k1’:大于66的所有值,‘k2’:小于66的所有值}

 li=[11,22,33,44,55,66,77,88,99,90]
 dic={ 'k1':[],'k2':[]}
 for item in li:
     if item > 66:
         dic['k1'].append(item)
     if item < 66:
         dic['k2'].append(item)
 print(dic)

解析:1.初始dic的建立;2.append的用法。

10.输出商品列表,用户输入序号,显示用户选中的商品

商品li=[‘手机’,‘电脑’,‘鼠标垫’,‘游艇’]

a .允许用户添加商品

b . 用户输入序号显示内容

 li=['手机','电脑','鼠标垫','游艇']
 dic={}
 for k,v in enumerate(li,start=1):
     dic[k]=v
 print(dic)
 n=input("如果想添加商品请输入1,如果想显示内容请输入2:")
 n=int(n)
 if n==1:
     sp=input("请输入想添加的商品:")
     dic.update({5:sp})
     print(dic)
 else:
     nu=input('请输入1-5的序号:')
     nu=int(nu)
 print('-------end-------------')

												

03 python基础作业(一)的更多相关文章

  1. python基础作业1

    目录 附加练习题(提示:一步步拆解) 1.想办法打印出jason 2.想办法打印出大宝贝 3.想办法打印出run 4.获取用户输入并打印成下列格式 5 根据用户输入内容打印其权限 6 编写用户登录程序 ...

  2. Day 03 Python 基础

    目录 Pycharm 的使用 设置 快捷键 变量 什么是变量 定义变量 变量名的命名规则 变量名的两种命名方式 注释 快捷键(快速注释) 单行注释 多行注释 注释的作用 Turtle库的使用 Pych ...

  3. 03 Python基础

    1.输出和输入 (1)print打印 Python 提供print方法来打印信息 输入: print ("hello python") 调用print方法,用户双引号(" ...

  4. python基础作业2

    目录 编写一个用户认证装饰器 利用有参装饰器编写多种用户登录校验策略 利用递归函数依次打印列表中每一个数据值 获取用户权限并校验用户登录 编写一个用户认证装饰器 """ ...

  5. python基础一之课后作业:编写登录接口

    1 # Author : Mamba 2 3 #python基础一之课后作业:编写登录接口 4 5 # 输入用户名密码 6 # 认证成功后显示欢迎信息 7 # 用户名3次输入错误后,退出程序 8 # ...

  6. python基础 实战作业 ---Excel基本读写与数据处理

    代码地址如下:http://www.demodashi.com/demo/11650.html 看完本篇需要: 10min 作业练习需要: 0.5h~3h(依练习者对python熟悉程度而定) 看完本 ...

  7. python开发基础作业01:模拟登陆系统

    随老男孩学习python mark 作业要求及提示:编写登录接口 ''' 练习程序:编写登录接口 1. 输入用户名和密码 2. 认证成功后显示欢迎信息 3. 输错三次后锁定 输入三次后退出,下次同样用 ...

  8. Day3 - Python基础3 函数、递归、内置函数

    Python之路,Day3 - Python基础3   本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8. ...

  9. 第一模块·开发基础-第1章 Python基础语法

    Python开发工具课前预习 01 Python全栈开发课程介绍1 02 Python全栈开发课程介绍2 03 Python全栈开发课程介绍3 04 编程语言介绍(一) 05 编程语言介绍(二)机器语 ...

随机推荐

  1. Codeforces 729C Road to Cinema(二分)

    题目链接 http://codeforces.com/problemset/problem/729/C 题意:n个价格c[i],油量v[i]的汽车,求最便宜的一辆使得能在t时间内到达s,路途中有k个位 ...

  2. CVE-2019-0708远程桌面代码执行漏洞复现

    漏洞环境 使用VMware 安装Windows7 SP1模拟受害机 利用 攻击工具准备 1.使用如下命令一键更新安装的metasploit框架 curl https://raw.githubuserc ...

  3. 【5】SVM算法原理

    大纲 简介 支持向量机(support vector machines)是一个二分类的分类模型(或者叫做分类器).如图: 它分类的思想是,给定给一个包含正例和反例的样本集合,svm的目的是寻找一个超平 ...

  4. 【Redis】缓存穿透与缓存雪崩

    一.缓存雪崩 1.1 缓存雪崩产生的原因 1.2 解决方案 1.3 锁的方式 1.4 消息中间件 1.5 一级和二级缓存 1.6 均摊分配redis key 失效时间 二.缓存穿透 一.缓存雪崩 1. ...

  5. React-router总结

    版本 v3和v4有一些差距: https://blog.csdn.net/qq_35484341/article/details/80500237 以下的总结,都是基于V4的 官方文档:https:/ ...

  6. 增强学习Q-learning分析与演示(入门)

    一些说明.参阅 https://github.com/MorvanZhou/Reinforcement-learning-with-tensorflow/blob/master/contents/1_ ...

  7. C# 表达式树Lambda扩展(四)

    一.前言 本来计算这篇文章在后面需要运用的时候写的,但是既然写到表达式的扩展呢,就一起写完吧. 看到这个标题就有一种疑问,Lambda表达式本来就是表达式树,还需要怎么扩展?那就看看下面的内容,你就知 ...

  8. Java 并发编程(二):如何保证共享变量的原子性?

    线程安全性是我们在进行 Java 并发编程的时候必须要先考虑清楚的一个问题.这个类在单线程环境下是没有问题的,那么我们就能确保它在多线程并发的情况下表现出正确的行为吗? 我这个人,在没有副业之前,一心 ...

  9. C#中using的使用-以FileStream写入文件为例

    场景 CS中FileStream的对比以及使用方法: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100396022 关注公众号 ...

  10. C#中读写Xml配置文件常用方法工具类

    场景 有时需要使用配置文件保存一些配置的属性,使其在下次打开时设置仍然生效. 这里以对xml配置文件的读写为例. 1.读取XML配置文. 2.写入XML配置文件. 3.匹配 XPath 表达式的第一个 ...