列表和元组的基本操作,for遍历,range

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] = "太亮"  # 把太黑迭代到切片的元素,再打印出lst
print(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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值