本篇是关于可迭代对象中的列表一些相关使用方法的记录。
可迭代对象简单描述:可以被for循环执行的对象(字符串,列表,元组,字典…)

  1. input()方法接收的其实只是字符串
    a = input(“请输入:”) #输入的是一个字符串类型,
    b = int(input(“请输入:”)) #将输入的函数转化为数字类型
value = "5+9"  #是一个字符串
v1,v2 = value.split('+')  #将'+'作为分隔符,前半部分赋值给v1,后半部分赋值给v2
v1 = int(v1)
v2 = int(v2)
v = v1+v2  #int()后就可以做运算了
print(v)

因为v1和v2都被转化成数字型了,所有v结果自然是:14

  1. 列表(list类)(特征:中括号,可修改),取值方法
li = [1,12,9,"age",["串串香",["19",10],"今麦郎"],"alex",True]  #通过list类创建的一个对象liprint(li)  #列表可以作为一个整体打印出来
print(li[2])  #通过索引2(即下标,从0开始)来取元素9print('=========================================')
# 通过切片来取值,取出的结果仍然是个列表
print(li[3:5])  #通过切片取3到5的元素,范围是大于等于3,小于5,所以只有两个元素
print(li[1:-1])  # -1是指最后一个元素,这里表示的范围是大于等于1小于最后一个(不包含最后一个)print('=========================================')
#也支持for和while循环取值,即一个一个全部输出
for item in li:print(item)

结果是:

  1. 列表可以修改
li = [1,12,9,"age",["串串香",["19",10],"今麦郎"],"alex",True]
li[1] = [11,22,33,44]  #通过下标修改
li[1:3] = [120,90]  #通过切片修改
print(li)
#删除某下标为1的元素,即删除12:
del li[1]
print(li)

结果是:
[1, 120, 90, ‘age’, [‘串串香’, [‘19’, 10], ‘今麦郎’], ‘alex’, True]
[1, 90, ‘age’, [‘串串香’, [‘19’, 10], ‘今麦郎’], ‘alex’, True]

  1. 列表类似于C语言中的数组,并且可以多维
li = [1,12,9,"age",["是正文",["19",10],"庞麦郎"],"alex",True]
v = li[4][1][0][1]  #类似四维数组
print(v)

答案是:9

  1. 字符串转列表时,会把每一个元素当成列表中的元素
s = "ajfskgahgkashgjhufywuyrlioqgfnjd"
new_li = list(s)
print(new_li)

结果是:
[‘a’, ‘j’, ‘f’, ‘s’, ‘k’, ‘g’, ‘a’, ‘h’, ‘g’, ‘k’, ‘a’, ‘s’, ‘h’, ‘g’, ‘j’, ‘h’, ‘u’, ‘f’, ‘y’, ‘w’, ‘u’, ‘y’, ‘r’, ‘l’, ‘i’, ‘o’, ‘q’, ‘g’, ‘f’, ‘n’, ‘j’, ‘d’]

  1. 将列表拼接成一个字符串
li = ["123","alex"]
v = "".join(li)
print(v)

结果是:123alex

  1. append() 方法与 extend() 方法
    一个是将传入的数据当一个整体加入到列表中,一个是将传入的对象当成多个对象加入到列表中
li = [11,22,33,44]
li.append(5)  #在li的后面追加一个5
li.append([66,77,"age"])  #也可以列表,元组或字典
print(li)
li.clear()  #清空列表
li.extend([66,77,"age"])
li.extend("不得了")  #则会将"不得了"分开成3个元素加入到列表中
print(li)

结果是:
[11, 22, 33, 44, 5, [66, 77, ‘age’]]
[66, 77, ‘age’, ‘不’, ‘得’, ‘了’]
Ps:不过在python3中,想要加入多个元素好像只能弄成列表,元组或者字典,ppend()和extend()不能直接传入多个值

  1. 拷贝与计算次数
li = ["alex",True,43,22,54,"age",22]
v = li.copy()  #拷贝一份到v
print(v)
v2 = li.count(22)  #计算某元素出现的次数
print(v2)

结果是:
[‘alex’, True, 43, 22, 54, ‘age’, 22]
2

  1. index() 索引与 insert() 插入
li = [11,22,33,22,44]
v = li.index(22)  #从前往后找,第一个与22匹配的位置
print(v)
li.insert(0,99)   #在指定位置0插入元素99,即整个列表的前端
print(li)

结果是:
1
[99, 11, 22, 33, 22, 44]

  1. 删除之pop()与remove()
    pop删除为某个值并获取删除的值到某个变量(指定索引,默认为最后一个)
    remove删除为从左边开始数删除遇到的第一个指定元素,返回值是None
li = [11,22,33,22,44]
v = li.pop()
print(v)
li.remove(22)
print(li)
v1 = li.remove(22)
print(v1)

结果是:
44
[11, 33, 22]
None

  1. 列表的翻转排序替换
    列表其实没有replace()这个方法,如果需要替换的话,必须先转换成字符串才可以实现replace()
li_1 = [11,44,22,33,22]
li_1.reverse()  #翻转列表中的元素
print(li_1)
li_1.sort()  #将列表元素排序,默认从小到大排
print(li_1)
li_1.sort(reverse=True)  #从大到小排
print(li_1)li_2 = [55,22,00,'name?','age?',520]
st = str(li_2)  #用str()将列表转换成字符串类型
v = st.replace("name?","alex")  #用'what?'替换元素'alex'
print(v)

结果是:
[22, 33, 22, 44, 11]
[11, 22, 22, 33, 44]
[44, 33, 22, 22, 11]
[55, 22, 0, ‘alex’, ‘age?’, 520]
Ps:其实这样的替换还不够好,它只能替换一个元素,但我们可以这样:

li=[5,'有','幸',1,'生','you','你']
dic={5:"我",1:"一","you":"有"}  #字典+键值对
li=[dic[i] if i in dic else i for i in li]
print(li)

结果是:
[‘我’, ‘有’, ‘幸’, ‘一’, ‘生’, ‘有’, ‘你’]
这里是利用了键值对来替换多个元素,这种方法真的非常好用,
第三行代码的简单解释:

#i是dic字典中的key(键),即 5,1,'you',dic[i]则是字典中的value(值)
for i in li:if i in dic:li[i] = dic[i]else:li[i] = i
#如果key是列表里的元素,就将dic[i]放进去,即键值对中的值
#否则就遍历另外的key,再看是否满足条件

这是属于三元表达式的内容,详情请参见文章:
初学者python笔记(迭代器、生成器、三元表达式、列表解析、send()与yield())

12、最大值、最小值、长度函数

  • len(list): 统计列表内的元素个数
  • max(list) :取列表元素中的最大值
  • min(list) :取列表元素中的最小值

13、列表的其他方法

  • list.count(obj):返回obj元素在列表中出现的次数
  • list.sort(cmp=None, key=None, reverse=False):对原列表进行排序,如果指定参数,则使用比较函数
  • list.clear():清空列表
    也可以使用del list[:]li = []来实现清空列表
  • b = a.copy():复制列表,此处是将a列表复制一份后赋值给b

初学者python笔记(列表的食用方法)相关推荐

  1. 初学者python笔记(内置函数_2)

    这篇初学者笔记是接着上一篇初学者python笔记(内置函数_1)的.同样都是介绍Python中那些常用内置函数的. max()和min()的高级用法 我们都知道,max():取最大值,min():取最 ...

  2. 初学者python笔记(类的继承与多态---详解)

    文章目录 一.类的组合与继承的区别 二.类的继承 1.继承的功能分析 2.类的继承之派生.接口继承 3.用接口模块abc来实现接口继承 4.使用接口继承的好处 5.类的继承顺序 6.在子类中调用父类的 ...

  3. 初学者python笔记(静态属性、类方法、静态方法、类的组合)

    文章目录 类的三大方法 1.静态属性 2.类方法.静态方法 3.三大方法总结 类的组合 1.用法分析 2.面试案例分析 本篇文章是上一篇:初学者python笔记(面向对象编程.类与对象)的后续篇,是关 ...

  4. 初学者python笔记(装饰器后篇:登陆验证)

    装饰器有非常强大的功能,可以不修改函数源代码和调用方式,就给函数加上了对应想要的功能,简直就是 修饰函数的利器. 上一篇文章:初学者python笔记(装饰器.高阶函数.闭包)已经非常详细的剖析了装饰器 ...

  5. 初学者python笔记(map()函数、reduce()函数、filter()函数、匿名函数)

    文章目录 一.匿名函数 二.map()函数 三.reduce()函数 四.filter()函数 五.三大函数总结 本篇文章内容有Python中的匿名函数和map()函数.reduce()函数.filt ...

  6. python中列表的sort方法_python中列表的sort方法使用详解

    内容简介:python中列表的sort方法使用详解 一.基本形式 列表有自己的sort方法,其对列表进行原址排序,既然是原址排序,那显然元组不可能拥有这种方法,因为元组是不可修改的. 排序,数字.字符 ...

  7. 初学者python笔记(装饰器、高阶函数、闭包)

    一个函数被定义完成后,甚至程序发布后,后期可能需要添加某些功能,但是我们不可能每次都去修改原函数的代码,这时候装饰器就可以上场了,本篇文章将会用一个个可实现的代码,由浅入深.循序渐进得阐述装饰器的强大 ...

  8. python实现列表的排序方法

    本篇文章里小编给大家分享了关于python实现列表的排序方法以及相关知识点,有兴趣的朋友们可以学习下. 这次代码主要是实现列表的排序,使用sort函数实现,sort函数是对列表中的元素按照特定顺序进行 ...

  9. python的列表的remove()方法、判断if xxx in xx条件比较耗时问题

    最近在coding的时候,写的代码中只有一层循环,却很耗时,不明觉厉.不知道是哪里出了问题,于是我就在每一行代码中都打印一下耗时,最终发现了这个罪魁祸首.这里我只说明两个我遇到耗时的场景,当然还有很多 ...

最新文章

  1. 绝了!“修仙模式”学编程是什么体验?
  2. OpenCV学习之Mat::at()理解
  3. 018 jquery中的事件
  4. excel 平滑滚动_Excel怎么学 | 图表实战,销售数据的不同表达方式
  5. 债券指数(Bond Index)
  6. 第二次冲刺——第7天
  7. html 手写字效果,canvas画布实现手写签名效果的示例代码
  8. Linux软链接的使用
  9. php环行队列实现,java数组实现队列及环形队列实现过程解析
  10. Toolkit.getDefaultToolkit().getScreenSize();获取显示器屏幕大小并使JFrame窗口居中显示
  11. 服务器导流板的作用,前保险杠下导流板的作用是什么?
  12. 图像的峰值信噪比(PSNR)的计算方法
  13. format mla_mlaformat是什么
  14. 简七32堂极简理财课——模块五:基金与股票,年化收益20%+
  15. 原生js的e.target.closest()方法
  16. 虚拟机开启系统蓝屏报错:“终止代码:SYSTEM_SERVICE_ECXEPTION“
  17. 正确刷牙的健康小常识
  18. ROS routeros mikrotik路由器CVE-2018-14847漏洞
  19. redis数据类型总结
  20. 简练软考知识点整理-估算活动持续时间

热门文章

  1. JAVA绘制图片原理_java开发_图片截取工具实现原理
  2. Mysql drop table 原理_mysql事务的实现原理
  3. 配置服务器文件,服务器配置文件
  4. 华为荣耀7能改成Linux吗,华为荣耀7电池怎么样?华为荣耀7可以更换电池吗?
  5. 微信找不到nfc功能_手机的NFC如何使用?3分钟教会你!
  6. mysql asp 字段部分内容_sql 修改、更新、替换 某个字段的部分内容(转载)
  7. java exe 路径_Java程序获取执行自己的java.exe路径
  8. oracle互换2条记录,ORACLE中确定表里哪些行是彼此互换的
  9. 档案电子封装包Java类,email: Android电子邮件库(基于JavaMail封装)
  10. php smarty thinkphp,用新版的thinkphp3.2.3和新版的smarty3.1.29