列表

说明:列表是python中的基础数据类型之一,它是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如:
 
1
li = [‘alex’,123,Ture,(1,2,3,’wusir’),[1,2,3,’小明’,],{‘name’:’alex’}] 
列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据。列表是有序的,有索引值,可切片,方便取值。
 索引,切片,步长
li = ['xiao',123,True,(1,2,3,'wusir'),[1,2,3,'小明',],{'name':'xiao'}]
print(li[0])
print(li[2])
print(li[1:4])
print(li[:5:2])
#倒着取,后2个
print(li[-1:-3:-1])

元祖

=====上述学习内容后续待完成=====

=====学习作业练习=====

li = [‘alex’,’wusir’,’eric’,’rain’,‘alex’]
1. 计算列表的长度并输出

print(len(li))

2.列表中追加元素’seven’,并输出添加后的列表

li = ['alex','wusir','eric','rain','alex']
li.append('seven')
print(li)

3.请在列表的第1个位置插入元素’Tony’,并输出添加后的列表

li.insert(0,'Tony')
print(li)

4.请修改列表第2个位置的元素为’Kelly’,并输出修改后的列表

li[1] = 'Kelly'
print(li)

5.请将列表l2=[1,’a’,3,4,’heart’]的每一个元素添加到列表li中,一行代码实现,不允许循环添加。

l2 = [1,'a',3,4,'heart']

6.请将字符串s = ‘qwert’的每一个元素添加到列表li中,一行代码实现,不允许循环添加。

#使用迭代添加
l2 = [1,'a',3,4,'heart']
#方法一:
li.append([1,'a',3,4,'heart'])
#方法二:
l3 = li.copy() + l2
print(l3)
#方法三:
li.extend(l2)
print(li)

7.请删除列表中的元素’eric’,并输出添加后的列表

s = 'qwert'
li.extend(s)
print(li)

8.请删除列表中的第2个元素,并输出删除的元素和删除元素后的列表

li.pop(2)
print(li)

9.请删除列表中的第2至4个元素,并输出删除元素后的列表

p = li.pop(1)
print(p,"\n",li)

10.请将列表所有得元素反转,并输出反转后的列表

del li[1:4]
print(li)

11.请计算出‘alex’元素在列表li中出现的次数,并输出该次数。

li.reverse()
print(li)  
二, 写代码,有如下列表,利用切片实现每一个功能
li = [1,3,2,'a',4,'b',5,'c']

  1.通过对li列表的切片形成新的列表l1,l1 = [1,3,2]

l1 = li[0:3]
print(l1)

  2.通过对li列表的切片形成新的列表l2,l2 = [’a’,4,’b’]

l2 = li[3:6]
print(l2)

  3.通过对li列表的切片形成新的列表l3,l3 = [’1,2,4,5]

l3 = li[::2]
print(l3)

  4.通过对li列表的切片形成新的列表l4,l4 = [3,’a’,’b’]

l4 = li[1:6:2]       #1 起始位置,6为结束元素位置,2是步数
print(l4)

  5.通过对li列表的切片形成新的列表l5,l5 = [‘c’]

l5 = li[-1]
print(l5)

  6. 通过对li列表的切片形成新的列表l6,l6 = [‘b’,’a’,3]

li = [1,3,2,'a',4,'b',5,'c']
l6 = li[-3:-8:-2]
print(l6)

三,写代码,有如下列表,按照要求实现每一个功能。
lis = [2,3,‘k’,[‘qwe’,20,[‘k1’,[‘tt’,3,’1’]],89],’ab’,’adv’]
  1.将列表lis中的’tt’变成大写(用两种方式)。

a = lis[3][2][1][0] #(临时草稿)

lis[3][2][1][0] = 'TT'   ###一个个元素位置去拆分取值并替换
lis[3][2][1][0] = lis[3][2][1][0].upper()
print(lis)

  2.将列表中的数字3变成字符串’100’(用两种方式)。

lis = [2,3,'k',['qwe',20,['k1',['tt',3,1]],89],'ab','adv']
lis[1]='100'
# print(lis)
#a = lis[3][2][1][1]
lis[3][2][1][1] ='100'
print(lis)

  3.将列表中的字符串’1’变成数字101(用两种方式)。

lis = [2,3,'k',['qwe',20,['k1',['tt',3,1]],89],'ab','adv']
#a = lis[3][2][1][2]
lis[3][2][1][2] = '101'
print(lis)

 方法二:

lis[3][2][1][2] = int(lis[3][2][1][2]) + 100
print(lis)
四,请用代码实现:
# 利用下划线将列表的每一个元素拼接成字符串"alex_eric_rain"
li = ['alex','eric','rain']
s = '_'.join(li)
print(s)

五,查找列表li中的元素,移除每个元素的空格,并找出以’A’或者’a’开头,并以’c’结尾的所有元素,并添加到一个新列表中,最后循环打印这个新列表。

li = ['taibai',' alexC',' AbC','  egon','   Ritian','  Wusir','  aqc',' ahjhc','auwenfc']
s1 = []
# s = ['A','a']
#
for i in li:
#print(i.strip())
s = i.strip()
#print(s)
if s.startswith('A') or s.startswith('a'):
#print(i.strip())
#print(s.strip())
if s.endswith('c'):
s1.append(s.strip())
for j in s1:
print(j)

 

python全栈学习--day4的更多相关文章

  1. python全栈学习路线

    python全栈学习路线-查询笔记 查询目录 一,硬件                                                                    十一,数据 ...

  2. python全栈学习--day3

    一.基础数据类型 基础数据类型,有7种类型,存在即合理. 1.int 整数 主要是做运算的 .比如加减乘除,幂,取余  + - * / ** %...2.bool 布尔值 判断真假以及作为条件变量3. ...

  3. python全栈学习--day2

    一.in的使用 说明:in有相当多的用处,比如判断,循环for 等. 实例一:in 操作符用于判断关键字是否存在于变量中 s = '男人john' print('男孩' in s) print('男孩 ...

  4. python全栈学习--day1

      计算机基础 CPU:中央处理器 内存:4GB,8GB,临时处理事务的地方,供给CPU数据. 硬盘:相当于电脑的数据库,存储着大量的数据,文件,电影等. 操作系统:执行者,支配所有关系 window ...

  5. Python全栈学习_day002知识点

    今日大纲: . while循环 . 格式化输出 . 运算符 . 编码初识 1. while循环 - while 无限循环: while True: # 死循环 print('大悲咒') print(' ...

  6. Python全栈开发day4

    1.python三元运算 实现方法: result = 值1 if 条件 else 值2 例如: 1 2 3 4 #!/bin/env python #-*- coding:utf-8 -*- nam ...

  7. python全栈开发-Day4 列表

    python全栈开发-Day4 列表 一.首先按照以下几个点展开列表的学习 #一:基本使用 1 用途 2 定义方式 3 常用操作+内置的方法 #二:该类型总结 1 存一个值or存多个值 只能存一个值 ...

  8. python全栈学习--day11(函数高级应用)

    一,函数名是什么? 函数名是函数的名字,本质:变量,特殊的变量. 函数名()执行此函数 ''' 在函数的执行(调用)时:打散. *可迭代对象(str,tuple,list,dict(key))每一个元 ...

  9. python全栈学习--day10(函数进阶)

    一,引言 现在我有个问题,函数里面的变量,在函数外面能直接引用么? def func1(): m = 1 print(m) print(m) #这行报的错 报错了:NameError: name 'm ...

随机推荐

  1. Vue2.0结合webuploader实现文件分片上传

    Vue项目中遇到了大文件分片上传的问题,之前用过webuploader,索性就把Vue2.0与webuploader结合起来使用,封装了一个vue的上传组件,使用起来也比较舒爽. 上传就上传吧,为什么 ...

  2. 关于ThinkCMF自带插件上传不了图片的解决方法

    第一个原因:第一次安装的时候提示file_upload未打开,所以当上传的时候回上传失败 解决方法:在php.ini里打开file_uploads = On 第二个原因:一开始还可以上传,但是当删除了 ...

  3. php+sqlServer 2008R2 PHPstudy下数据库环境搭建

    简要:小主从事PHP二年,期间一直做后台;在过程中遇到一个奇葩的组合就是PHP+sqlServer应用场景,希望能够跟各位PHP大神分享和学习探索,如果有不对或者好的建议告知下:*~*! 一.下载sq ...

  4. Xampp apache与mySQL开不了 解决办法

    Xampp安装后,打开Xampp control panel. 点击Apache对应的Start,开不了.原因是系统的服务占用了80端口,所以要么结束系统服务,要么修改apache端口. 个人比较喜欢 ...

  5. Liunx2:Liunx目录结构

    Liunx目录图 进入根目录,使用ll命令看一下Liunx整个根目录图: 这里面所有的目录都是买完服务器之后最初始的目录,没有进过任何加工.Liunx以树的结构组织所有目录,用一张图表示一下Liunx ...

  6. redis缓存的应用详解

    在现在的很多项目,基本上都需要引入缓存机制,那么缓存到底是什么呢? 缓存  也就是数据交互的缓冲区  Cache 在java-web项目中实现缓存,也就是需要首先把数据库需要用到的数据备份一份作为副本 ...

  7. 云计算之路-阿里云上:针对 docker swarm 故障的部署调整以及应急措施

    针对这周 docker swarm 集群的频繁故障(详见故障一 .故障二.故障三),我们今天对 docker swarm 集群的部署进行了如下调整. 将 docker engine 由  “17.12 ...

  8. 关于win8的各种版本的区别

    Windows8.1 Professional VL  表示:专业版(大客户版,批量授权) Windows8.1 Multiple editions 表示:多合一版本(包含:标准版.专业版) 个人用户 ...

  9. CSS中图片水平垂直居中方法小结

    写页面时难免会遇到水平垂直居中的问题,总结一下最近使用的方法. 一.使用垂直居中和水平居中 <div id="div1"> <img src="img/ ...

  10. 自定义TabBar之理解hittest

    需求的TabBar是这样的:5个 tabItem, 中间的那个 item 部分超出系统默认TabBar的上边界. 那么实现的关键点就是如何在点击它突出的部分的时候,也可以正常获得响应.我来把问题简化, ...