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. 【Offer】[47] 【礼物的最大价值】

    题目描述 思路分析 测试用例 Java代码 代码链接 题目描述 在一个m*n的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于0).你可以从棋盘的左上角开始拿格子里的礼物,并每次向左(以自 ...

  2. python控制台简单实现五子棋

    #棋盘#落子#规则import randomclass chess: def __init__(self): print('#---------------棋盘----------------#') ...

  3. Java web的基本概念

    概念一直是学习计算机软件开发中经常遇到的问题,也是软件行业最喜欢创造的东西.很多时候,学习计算机软件开发遇到困难都是因为对某些概念的不理解,而不是因为技术本身有多么复杂.Java Web作为Java ...

  4. Go操作MySQL

    MySQL是常用的关系型数据库,本文介绍了Go语言如何操作MySQL数据库. Go操作MySQL 连接 Go语言中的database/sql包提供了保证SQL或类SQL数据库的泛用接口,并不提供具体的 ...

  5. Zookeeper内部实现分布式数据一致性(底层系统模型)(一)

    Zookeeper的几个概念:(接下来将从这几个概念书写Zookeeper的内部工作流程) 数据模型 节点特性 版本 Watcher ACL <1> 数据模型: Zookeeper的视图很 ...

  6. AtomicInteger 一个提供原子操作的Integer类

    转自:http://www.blogjava.net/freeman1984/archive/2011/10/17/361402.html AtomicInteger,一个提供原子操作的Integer ...

  7. zookeeper伪集群

    Zookeeper运行需要java环境,需要安装jdk,建议本地下载好需要的安装包然后上传到服务器上面,服务器上面下载速度太慢. 上传 [root@192 ~]# java -version java ...

  8. tcp居然会数据延迟40ms被发送

    tcpdump是很好的tcp分析工具,在此配合nc命令来学习tcpdump nc -l 8000 tcpdump -S -n -i lo tcp and host 127.0.0.1 and port ...

  9. [LeetCode]sum合集

    LeetCode很喜欢sum,里面sum题一堆. 1.Two Sum Given an array of integers, return indices of the two numbers suc ...

  10. Hive窗口函数最全案例详解

    语法: 分析函数 over(partition by 列名 order by 列名 rows between 开始位置 and 结束位置) 常用分析函数: 聚合类 avg().sum().max(). ...