列表

说明:列表是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. Java中的大小写字母相互转换(不利用Java自带的方法)

    Java中的大小写字母相互转换(不利用Java自带的方法) 1.设计源码 /** * * @title:UpperAndLower.java * @Package:com.you.utils * @D ...

  2. WPF基础篇之命名空间

    WPF中XAML与C#一样,也有自己独立的编译器.XAML会被解析和编译,最终形成微软的中间语言存储在程序集中.在解析和编译XAML的语言过程中,我们经常需要告诉编译器一些重要的信息,比如XAML代码 ...

  3. JavaScript设计模式(10)-观察者模式

    观察者模式 1. 介绍 发布者与订阅者是多对多的方式 通过推与拉获取数据:发布者推送到订阅者或订阅者到发布者那边拉 使并行开发的多个实现能彼此独立地进行修改 其实我们在前端开发中使用到的时间监听就是浏 ...

  4. 主席树总结(经典区间第k小问题)(主席树,线段树)

    接着上一篇总结--可持久化线段树来整理吧.点击进入 这两种数据结构确实有异曲同工之妙.结构是很相似的,但维护的主要内容并不相同,主席树的离散化.前缀和等思想也要更难理解一些. 闲话 话说刚学习主席树的 ...

  5. 【BZOJ3992】序列统计(动态规划,NTT)

    [BZOJ3992]序列统计(动态规划,NTT) 题面 BZOJ 题解 最裸的暴力 设\(f[i][j]\)表示前\(i\)个数,积在膜意义下是\(j\)的方案数 转移的话,每次枚举一个数,直接丢进去 ...

  6. 小程序 - swiper除了左右切换还有上下滚动超出屏幕的内容

    本来呢,我是有专门整理小程序恶心bug的文章的,每次只要添加汇总就好, 但是呢,鉴于这个问题的恶心程度,所以我把他单独拿出来说了. ---------------------------------- ...

  7. 微信小程序天坑--图片汉字命名

    图片用汉字命名的,在开发者工具中是显示的,但是,在真机的微信中,是不会显示的. 大写的尴尬,微信小程序开发者工具对于做微信的UI来说,就是一个天坑,在电脑上漂漂亮亮的,到手机上各种意想不到的情况.

  8. Invalid bound statement (not found)解决方法

    项目背景:SSM框架,MySQL数据库 报错情况: 错误原因:Mybatis的xml文件中,namespace路径错误!!引入的不是对应的Dao接口!!! Dao接口和对应的xml文件 必须一一对应! ...

  9. Delphi的RzDbgrid改变某行的背景色

    本想改变符合条件的行的背景色,试了DbgridEh和原生的Dbgrid直接在DrawColumnCell事件中写重绘代码就好了,But在RzDbgrid就不起效果,查了好一会,百度了一大堆,都是千篇一 ...

  10. MSIL实用指南-加载null、string、long、float、double等值

    本篇讲述怎么加载null.string值.long值.float值.double值. 加载null不需要参数值,只要 Emit ldnull 其它几个命令要 Emit <指令> <值 ...