一.list列表
列表可以装大量的数据,不限制数据类型. 表达方式:[],方括号中的每项用","隔开. 列表和字符串一样,有索引和切片
1.列表的增删改查
(1).append("添加的元素")向列表中添加一个元素,默认元素添加到列表的末尾.
例:
lst = ["周杰伦", "王力宏", "周润发"]
lst.append("伍佰")
print(lst) ==<[‘周杰伦‘, ‘王力宏‘, ‘周润发‘, ‘伍佰‘]>
insert(指定位置,"添加的元素")把元素添加的指定的位置,原来在指定位置的元素往后移.
例:
lst = ["周杰伦", "王力宏", "周润发"]
lst.insert(1, "马化腾") # 把元素插入到指定位置. 元素的移动
print(lst) ==<[‘周杰伦‘, ‘马化腾‘, ‘王力宏‘, ‘周润发‘]>
exend(添加的元素)把元素添加到列表的最后 如果添加的元素是字符串最后列表添加的元素是字符串的每一个元.
迭代添加: 如果添加的是列表最后列表最后添加的是要添加的列表的元素.
例:
lst = ["周杰伦", "王力宏", "周润发"]
lst.extend(["马云"])
print(lst) ==<[‘周杰伦‘, ‘王力宏‘, ‘周润发‘, ‘马云‘]>
例:
lst = ["周杰伦", "王力宏", "周润发"]
lst.extend(["马云", "王健林", "李嘉诚"]) # 迭代添加
print(lst) ==<[‘周杰伦‘, ‘王力宏‘, ‘周润发‘, ‘马云‘, ‘马云‘, ‘王健林‘, ‘李嘉诚‘]>
例: 多次输入名字,按q键停止输入.
lst = []
while 1:
name = input("请输入学生的名字")
if name.upper() == "Q":
break
else:
lst.append(name) # 把名字添加到列表
print(lst)
结果:
请输入学生的名字adf
请输入学生的名字vht
请输入学生的名字tj
请输入学生的名字hm,
请输入学生的名字q
[‘adf‘, ‘vht‘, ‘tj‘, ‘hm,‘]
2. pop()删除最后一个元素, pop(删除元素的索引)删除指定索引位置的元素
例:
lst = ["白菜", "大白梨", "茄子", "大白梨"]
e = lst.pop() # 返回删除的元素, 删除最后一个
print(e) ==<大白梨> #删除的元素
print(lst) ==<[‘白菜‘, ‘大白梨‘, ‘茄子‘]> #删除最后一个元素的列表
例:
lst = ["白菜", "大白梨", "茄子", "大白梨"]
e = lst.pop(1) # 根据给出的索引进行删除
print(e) ==<大白梨>
print(lst) ==<[‘白菜‘, ‘茄子‘, ‘大白梨‘]>
remove(删除的元素)删除指定元素
例:
lst = ["白菜", "大白梨", "茄子", "大白梨"]
lst.remove("大白梨")
lst.remove("大白梨")
print(lst) ==<[‘白菜‘, ‘茄子‘]>
del 列表[] 切片删除
例:
lst = ["白菜", "大白梨", "茄子", "大白梨"]
del lst[1:] #从索引为1到最后的元素全部删除
print(lst) ==<[‘白菜‘]>
3. 列表的改
列表的修改利用索引切片的修改
索引修改
例:
lst = ["太白", "五色", "银王", "日天"]
lst[0] = "太黑"
print(lst) ==<[‘太黑‘, ‘五色‘, ‘银王‘, ‘日天‘]>
迭代修改
例:
lst = ["太白", "五色", "银王", "日天"]
lst[1:3] = "马化腾" # 迭代修改
print(lst) ==<[‘太白‘, ‘马‘, ‘化‘, ‘腾‘, ‘日天‘]>
例:
lst = ["太白", "五色", "银王", "日天"]
lst[1:3] = ["周杰伦", "王力宏"]
print(lst) ==<[‘太白‘, ‘周杰伦‘, ‘王力宏‘, ‘日天‘]>
4.列表的查询
for循环
例:
lst = ["舒克贝塔", "黑猫警长", "熊大熊二", "葫芦娃", "吴佩琪"]
for el in lst: # element(元素)
print(el)
结果:
舒克贝塔
黑猫警长
熊大熊二
葫芦娃
吴佩琪
5.列表的相关操作
(1)len(列表)--列表长度
例:
lst = ["1", "2", "3", "4","2", "6"]
print(len(lst)) ==<6>
(2)count(指定字符)--指定字符的长度
例:
lst = ["1", "2", "3", "4","2", "6"]
print(lst.count("2")) ==<2>
(3)sort()--排序,数字从小到大 从大到小是sort(reverse)
例:
lst = [1, 9, 18, 2 , 34, 88, 7, 9]
lst.sort() # 升序
print(lst) ==<[1, 2, 7, 9, 9, 18, 34, 88]>
lst.sort(reverse=True) # 倒序
print(lst) ==<[88, 34, 18, 9, 9, 7, 2, 1]>
(4)reverse--让列表从从右到左(倒序)排列
例:
lst = [1, 9, 18, 2 , 34, 88, 7, 9]
lst.reverse()
print(lst) ==<[9, 7, 88, 34, 2, 18, 9, 1]>
6.列表的嵌套
降维操作
例:
lst = [1, "周杰伦", "张杰", ["周星驰", ["可口可乐"], "陈奕迅"]]
print(lst[3][1][0]) ==<可口可乐>
lst[3][1].append("芬达")
print(lst) ==<[1,"周杰伦","张杰",["周星驰",["可口可乐","芬达"],"陈奕迅"]]>
lst[2] = lst[2].replace("杰", "键")
print(lst) ==<[1,"周杰伦","张键",["周星驰", ["可口可乐"], "陈奕迅"]]>
二.tuple元组
不可变列表,只读列表. 有索引和切片
当元组元素少于等于1时,需要加一个逗号.
例:
lit = (1, "花生", "ɽҩ")
print(type(lit)) ==<class"tuple">
tu = (1 ) # 需要添加一个逗号
print(type(tu)) ==<class"int">
tu = (1, ) # 需要添加一个逗号
print(type(tu)) ==<class"tuple">
空元组 tu=tuple() 元组只能进行(1)count()--查找元素出现的次数;(2)index()--查找元素是否存在,不存在直接报错.
元组的遍历:
for el in tu:
print(el)
元组本身不能改变,元组内部第一层元素不能改变 如果元组中包含列表,则列表是可以变的.
例:
tu = (1, "马化腾", ["胡辣汤", "疙瘩汤", "西红柿鸡蛋汤"])
tu[2].append("粘包米") # 元组本身没有变. 变的是儿子中的内容
print(tu) ==<(1, ‘马化腾‘, [‘胡辣汤‘, ‘疙瘩汤‘, ‘西红柿鸡蛋汤‘, ‘粘包米‘])>
三.range
例:
for i in range(10): # 从0开始. 到10结束
print(i)
结果:
0
1
2
3
4
5
6
7
8
9
例:
for i in range(3, 7): # 从3 开始. 打印到7结束. 不能到7
print(i)
结果:
3
4
5
6
例:
for i in range(3, 10, 2): # 从3 到 10 每2个取一个
print(i)
结果:
3
5
7
9
例:
for i in range(0, -5, -1): #从0 开始到-5结束. 倒着数
print(i)
结果:
0
-1
-2
-3
-4
原文:https://www.cnblogs.com/gxj742/p/9270735.html