博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
列表和元组的基本操作,for遍历,range
阅读量:4578 次
发布时间:2019-06-08

本文共 3702 字,大约阅读时间需要 12 分钟。

1,list(增删改查):列表可以装大量数据,不限制数据的类型(int,str,bool, list,tuple,dict,set),表示方法用[  ],list和sttr有区别,list可以直接在原对象上直接进行操作.

  • 表示:list = ["王美丽","张漂亮","李耐看",58,True,["高兴","快乐","兴奋"]("王昭君","西施","雪雪"),"dict","set"]方括号每一项用","(逗号)隔开,列表和字符串一样,也有索引和切片.
  • 索引:起始下角标 是"0"(表示从左到右),(-1)表示从右到左.比如:s = "asadf"    print(s[2])   结果是:a.  # 索引出来的是某一位置的元素,用索引能精确找出某一位置的元素.

    lst = ["0",2,"alex",$]   print(lst[2])

 

  • 切片:用下角标(索引标出来的位置)截取部分字符串的内容(输出的是截取下来的内容)     

 

lst = ["麻花藤", "王健林", "马云", "周鸿祎", "向华强"]print(lst[:3])  # ['麻花藤', '王健林', '马云'],:前边什么都不加默认从头开始切print(lst[0:3])  # ['麻花藤', '王健林', '马云'],:前边加上0表示也是从头开始切

2,list常用的几种功能:

  • 1>列表的增加,格式是:   .append()                                       

 

lst = ["麻花藤", "马云", "刘华强", "任我行"]lst.append("高天一")print(lst)  # ['麻花藤', '马云', '刘华强', '任我行', '高天一'].append添加的时候,默认添加到最后的位置

 

  • 2>列表的删除,格式是:   .pop()    默认在lst后边删除元素  括号没有值默认删除最后一个元素 ,remove()指定元素删除,del 切片删除, clear()清空

 

lst = ["麻花藤", "马云", "刘华强", "任我行"]lst.pop(2)  # 删除索引是2的列表元素print(lst)  # ['麻花藤', '马云', '任我行']lst.pop()  # 默认删除的是最后一个元素print(lst)  # ['麻花藤', '马云']lst.remove("麻花藤")  # 删除指定元素,且是单一元素print(lst)  # ['马云']lst1 = ["盖伦", "大白梨", "提莫", "大白菜"]del lst1[1:2]  # 切片删除,先索引出元素位置,再去删除print(lst1)  # ['盖伦', '提莫', '大白菜']lst1.clear()  # 清空,把lst1中的所有元素清空print(lst1)  # []

 

 

 

  • 3>列表的修改:先去索引,切片修改,索引出lst的元素,然后进行修改和切片(索引, 修改是某一lst含有元素的修改,切片, 是修改某一段含有元素的修改.)

 

lst = ["太白", "日天", "wusir", "sylar"]lst[0] = "太黑"  # 将列表中的第一项改成太黑print(lst)  # ['太黑', '日天', 'wusir', 'sylar']lst[1:4:2] = "太亮"  # 把太黑迭代到切片的元素,再打印出lstprint(lst)  # ['太黑', '太', 'wusir', '亮']lst[1:3:2] = ["太帅"]  # 是把切片出来的元素修改为太帅print(lst)  # ['太白', '太帅', 'wusir', 'sylar']lst[1:4:2] = ["太亮","太帅"]  # 从左向右一次替换元素print(lst)  # ['太白', '太亮', 'wusir', '太帅']lst[1:4:2] = ["太亮"]  # 报错# 当切片出多个元素的时候,就迭代修改,如果是单一元素,就单一的修改元素# 当 切片出的元素与赋值的列表元素想对应,不然就会报错

 

  • 4>列表的查询:   列表是可迭代对象,所以可以用"for"循环来查询,       也可以直接来查询.

 

lst = ["太白", "日天", "wusir", "sylar"]s = lst[0]  # 太白 第一个元素print(s)for el in lst:    print(el)  # for循环的原理的根据索引取每一个可迭代对象的元素
  • 3,lst的其他操作:
    • 1>   .len()表示计算lst的长度

 

lst = ["太白", "日天", "wusir", "sylar"]l = len(lst)  # 计算列表lst的长度print(l)  # 4

 

    • 2>   .count(" ").....是指lst中的某一元素在列表中出现的次数.

 

lst = ["太白", "日天", "wusir", "sylar"]c = lst.count("太白")  # 对列表中的"太白"元素进行计数print(c)
    • 3> .sort()是指给lst中的元素进行排序.reserve()反转

 

lst = ["太白", "日天", "wusir", "sylar"]lst.sort()  # sort()是列表的一个内置方法,改变的是愿列表的长度print(lst)  # ['sylar', 'wusir', '太白', '日天']lst.reverse()  # reserve()是列表的一个内置方法,改变的是列表的长度print(lst)  # ['日天', '太白', 'wusir', 'sylar']
    • 4  lst的嵌套,即列表套列表.

    列如:lst = [1, "太白", "wusir", ["马虎疼", ["可口可乐"], "王剑林"]]

 

      • 1>增:lst.append("大保健"),在lst的末尾增加一个元素"大保健"

      print(lst),此时打印的结果是:[1, "太白", "wusir", ["马虎疼", ["可口可乐"], "王剑林"],"大保健"]

 

 

      • 2>删:lst.pop("可口可乐"),把lst中的"可口可乐"元素删掉

      print(lst),此时打印的是:[1, "太白", "wusir", ["马虎疼",  "王剑林"]]

 

    • 3>改:lst[3][1][0] = lst[3][1][0].replace("可口可乐","大保健"),把lst中的"可口可乐"换成"大保健"

      print(lst),此时打印的是:[1, "太白", "wusir", ["马虎疼", ["大保健"], "王剑林"]]

 

      • 4>查:lst = lst[3][1][0]   (s = lst[0:2]),查找可以用索引和切片来查找.

      print(lst/s),打印出来的结果分别是:"可口可乐"/[1,"太白"]

5  tuple元组:俗称不可变的列表,元组也是python的基本数据类型之一,用小括号括起来(    )里边可以放任何的数据,查询可以,循环可以,切片也可以,但就是不能修改.

tu = (1, "太白", "李白", "太黑", "怎么黑")# 1,查:print(tu[3])  # 拿到的是索引是3的元素  太黑print(tu[0:3])  # 拿到的是所以在0-3之间的元素,但不包括索引是3的元素  (1, '太白', '李白')# 2,可以遍历:for循环for el in tu:    print(el)   # 拿到的是每一个元素tu1 = (1, "哈哈", [], "呵呵")tu1[2].append("麻花藤")  # 当元组中的元素是一个可变的数据类型加入一个元素也是可以的但,元组查的整体长度还是不变的print(tu1)  # (1, '哈哈', ['麻花藤'], '呵呵')# 小结:元组中的元素是不可变的,但是子元素是可以改变的,这取决于元素是否为可变的数据类型

6  range可以帮我们获取到一些数据 ,通过for循环来获取这些数据.

 

# range可以帮我们获取到一些数据,通过for循环来获取这些数据for num in range(10):    print(num)  # 把1-9遍历出来for num in range(1,10,2):    print(num)  # 把1-9遍历出来每隔2个元素取一个元素for num in range(-1,-10,-2):    print(num)  # -10到-1切片,每2个元素取一个元素(-1.-3.-5.-7.-9)lst = ["雪雪", "小雪", "雪儿", "雪人", "小雪砸"]for el in lst[0:2]:    print(el)  # 按索引去第0,第1个元素(切片遍历)

转载于:https://www.cnblogs.com/ljc-0923/p/9288803.html

你可能感兴趣的文章
jquery 正则表达式
查看>>
mysql查询更新时的锁表机制分析(只介绍了MYISAM)
查看>>
JDBC如何调用存储过程
查看>>
扫盲记-第五篇--图像全景分割
查看>>
Haproxy安装与配置
查看>>
Linux之Ganglia源码安装
查看>>
Android中的Handler,Looper,Message机制
查看>>
Roman Numeral Converter
查看>>
魔幻之翼的博客
查看>>
文件发送成功率低的问题(1)
查看>>
异步方法 async/await
查看>>
37 数组的概念
查看>>
去掉SrollView、GrdiView、ListView、ViewPager等滑动到边缘的光晕效果
查看>>
我选择的……
查看>>
akka actor初探
查看>>
linux清理Java环境
查看>>
如何更改webstrom的默认端口63342
查看>>
最短路计数
查看>>
SharedPreferences
查看>>
Android性能优化方法(六)
查看>>