python基础--列表和元组

⼀. 列表

  1.列表的索引和切片

    列表和字符串一样也有索引:

1 lst = [1, "周杰伦", True, False, ["可口可乐", "雪碧", "芬达"] ]
2 print(lst)
3 
4 lst = ["大阳哥", "赵明杰", "UZI", "赛利亚", "克伦特", "梅西", "哈登"]
5 print(lst[3])
6 print(lst[1:3])
7 print(lst[-1::-2])  #  -1  - 从右往左. 1 : 一个一个取
View Code

二.列表的增删改查

  1.增 append(),insert(),extend()

    注意:list与str是不一样的,list是可以发生任意改变的,所以直接就在原来的对象想进行了操作

 1 lst = ["麻花藤", "林林俊杰", "周润发", "周芷若"]
 2 print(lst)
 3 lst.append("wusir")
 4 print(lst)
 5 
 6 lst = []
 7 while True:
 8     content = input("请输⼊入你要录⼊入的员⼯工信息, 输⼊入Q退出:")
 9     if content.upper() == 'Q':
10         break
11     lst.append(content)
12 print(lst)
13 
14 #insert() 插入
15 lst = ["麻花藤", "张德忠", "孔德福"]
16 lst.insert(1, "刘德华")    # 在1的位置插⼊入刘德华. 原来的元素向后移动⼀一位 print(lst)
17 
18 #  迭代添加
19 lst = ["王志文", "张一山", "苦海无涯"]
20 lst.extend(["麻花藤", "麻花不疼"])
21 print(lst)
View Code

  2.删 pop(),remove(),clear(),del()

    1).pop()

1 lst = ["盖伦", "大白梨", "提莫", "大白梨"]
2 e = lst.pop()   # 返回删除的元素, 删除最后一个
3 print(e)
4 print(lst)
5 e = lst.pop(1)  # 根据给出的索引进行删除
6 print(e)
7 print(lst)
View Code

    2).remove(元素)

1 lst = ["盖伦", "大白梨", "提莫", "大白梨"]
2 lst.remove("大白梨")
3 lst.remove("大白梨")
4 print(lst)
View Code

    3).del() 删除,切片删除 

1 lst = ["盖伦", "大白梨", "提莫", "大白梨"]
2 del lst[1:]
3 print(lst)
View Code

    4).clear 清空

1 lst = ["盖伦", "大白梨", "提莫", "大白梨"]
2 lst.clear()
3 print(lst)
View Code

  

  3.修改  索引 切片修改

 1 # 索引修改
 2 lst = ["太白", "五色", "银王", "日天"]
 3 lst[0] = "太黑"
 4 print(lst)
 5 lst[2] = "银角大王"
 6 print(lst)
 7 
 8 # 切片修改
 9 lst[1:3] = "马化腾"    # 迭代修改
10 print(lst)
11 lst[1:3] = ["周杰伦", "他媳妇", "王力宏媳妇"]
12 print(lst)
View Code

    

  4.查询   列表是一个可迭代对象,所以可以进行for循环

1 lst = ["舒克贝塔", "黑猫警长", "熊大熊二", "葫芦娃", "吴佩琪"]
2 for el in lst:  #  element
3     print(el)
View Code

  

  5.其他操作

1 lst = ["王尼玛", "我记着你", "伟哥", "放学天台见","王尼玛", "王尼玛"]
2 print(len(lst))
3 print(lst.count("王尼玛"))
4 
5 lst = [1, 9, 18, 2 , 34, 88, 7, 9]
6 # lst = ["2王尼玛", "马化腾", "1马云", "马云云", "阿里巴巴", "1王尼玛"]
7 lst.sort()  # 升序
8 lst.sort(reverse=True)  # 倒序
9 print(lst)
View Code

三.列表的嵌套

  采用降维操作,一层一层的看就好

 1 lst = [1, "太白", "wusir", ["马虎疼", ["可口可乐"], "王剑林"]]
 2 # 找到wusir
 3 print(lst[2])
 4 # 找到太⽩白和wusir
 5 print(lst[1:3]) 
 6 # 找到太⽩白的⽩白字
 7 print(lst[1][1])
 8 # 将wusir拿到. 然后⾸首字⺟母⼤大写. 再扔回去
 9 s = lst[2]
10 s = s.capitalize()
11 lst[2] = s
12 print(lst)
13 # 简写
14 lst[2] = lst[2].capitalize()
15 print(lst)
16 # 把太白换成太黑
17 lst[1] = lst[1].replace("", "")
18 print(lst)
19 # 把马⻁虎疼换成马化疼
20 lst[3][0] = lst[3][0].replace("", "")
21 print(lst[3][0])
22 lst[3][1].append("雪碧")
23 print(lst)
View Code

四.元组和元组嵌套

  元组:俗称不可变的列表,有被称为只读列表,元组也是python的基本数据类型之一,用小括号括起来,里的可以放任何数据类型的数据,查询可以,循环也可以,切片也可以,但不能修改

   1.若元组里元素少于两个时,需要添加一个逗号,其类型才会是一个元组,否则其类型为里面的元素的类型

1 tu = (1,) 
2 print(type(tu))
View Code

   2.不可变的列表. 只读列表. 有索引和切片.

   3.不可变的是它内部子元素. 如果子元素是列表. 列表中的元素是可以变的.

 1 tu = (1, "太白", "李白", "太黑", "怎么黑")
 2 print(tu)
 3 print(tu[0])
 4 print(tu[2])
 5 print(tu[2:5])  # 切⽚片之后还是元组
 6 #  for循环遍历元组
 7 for el in tu:
 8     print(el)
 9     # 尝试修改元组
10     #  tu[1] = "⻢马⻁虎疼"   # 报错 'tuple' object does not support item assignment
11     tu = (1, "哈哈", [], "呵呵") #
12     tu[2] = ["fdsaf"]   # 这么改不不⾏行行
13     tu[2].append("麻花藤")     # 可以改了了. 没报错
14     tu[2].append("王剑林")
15     print(tu)
View Code

元组的嵌套与列表相同,也有count(),index(),len()等方法

五.range

  range可以帮我们获取到一组数据,通过for循环能够获取到这些数据

1 for num in range(10):   
2      print(num) 
3 
4 for num in range(1, 10, 2):
5     print(num)
6 
7 for num in range(10, 1, -2):    # 反着来, 和切⽚片⼀一样
8     print(num
View Code
原文地址:https://www.cnblogs.com/-Aqiu/p/12513116.html