"""
一、列表的特性
1、有序
2、可变
3、列表成员可以是任意类型的数据,不需要一致
4、可以通过索引获取
5、元素可以重复
二、列表操作
1、创建【掌握】
list_test=[1,2,3,4,5]
2、删除【了解】
2.1、通过索引删除元素,返回被删掉的元素
test_01.pop(index)
index有值就删除对应的元素,没有传值默认删除最后一个元素(索引值最大的)
2.2、通过索引删除元素,没有返回
del test_01[index]
2.3、通过value删除对应的元素
test_01.remove(value)
2.4、清空列表
test_01.clear()
3、修改【了解】
3.1、通过索引值修改元素值 list[index]=value
3.2、通过追加方式修改列表 append() [常用],没有返回值
3.3、通过插入的方式修改列表 insert(index,value),没有返回值
3.4、通过合并的方式修改列表 extend(),没有返回值
4、访问【掌握】
4.1、通过索引获取元素
list_test[index]【重点】
4.2、通过元素获取索引值,如果有多个相同的元素,返回找到的第一个元素的索引值
test_list.index(3)【了解】 # 可加参数起始位索引和结束位索引
4.3、统计某个元素出现的次数【面试题】
print(test_list.count(3))
4.4、切片规则同字符串
规则
1、左闭右开
2、索引从0开始
3、步长默认为1
4、正序切片步长为正数,倒序切片步长为负数
5、起始索引默认为0(支持自定义),结束索引默认为列表长度(支持自定义)
6、字符串反序与列表反序区别
1、列表反序是对元素整体进行反序,不会对某个元素内部顺序产生影响
2、字符串是将整个元素进行反序
5、成员运算,返回布尔值
test_01 = ['a1','b1','c2','d3']
in 某个成员是否在list中
not in 某个成员不在list中
6、排序[面试题,可以自己写拓展自己的框架]
6.1、排序:列表里面的元素进行排序
6.2、ASCII码
print(chr(97)) #通过ascii码,输出对应的字符
print(ord('A')) # 通过字符,输出对应的ascii码
6.3、test_list.sort(reverse=True) # 没有返回值
reverse=False:默认为Fasle,升序排列
reverse=True:降序排列
在test_list基础上进行排序,不会生成新的list
6.4、sorted() 生成新的list,不修改原来的list
reverse=False:默认为Fasle,升序排列
reverse=True:降序排列
7、反序
test_list.reverse()
test_list[::-1]
8、其他方法【了解】
max()
min()
sum()
len() 计算列表的长度==元素个数
"""
"""
一特性
1、元素不可修改[相对不可修改]
2、元素内容可以重复
3、当元组只有一个元素的时候,需要加逗号
4、通过索引取值
二、元组操作
1、索引取值
同列表
2、切片(正序、倒序)
同列表
3、元组运算
+:合并
4、常用方法
4.1、set(去重)【掌握】
4.2、count()
4.3、len()
4.4、max()
4.5、min()
4.6、tuple(list)
三、元组分类
1、不可变元组
元组里面的元素不可变元组就不可变
2、可变元组
元组里面的元素可变,元组就可变
比如元组内部嵌套list,直接可以修改list中的元素
test_tuple = (1,2,['a','b','c'])
res = test_tuple[2]
res[0] = 1
print(test_tuple)
"""
list_test1 = [1, 2, 'python', [3, 'hello'], "python"]
new_str = list_test1.pop()
print(new_str)
print(list_test1)
list_test2 = ['hello', 'world', 1, 6, '中文']
del list_test2[0]
print(list_test2)
list_test3 = ['hello', 5566, 'world', 1, 6, '中文']
new_str = list_test3.remove('world')
print(list_test3)
list_test4 = ['hello', 'china', 'world', 12, 67, '中文']
# new_str = list_test4.clear()
print(list_test4.clear())
3、修改
list_test4 = ['china', 88, 'world', 12, 67, '中文']
list_test4[1] = 'test'
print(list_test4)
list_test5 = ['hello', 6, 'world', 12, 87, '中文']
new_str = list_test5.append(666)
print(new_str)
print(list_test5)
list_test6 = ['hello', 6, 'world', 12, 87, '中文']
new_str = list_test6.insert(0, 45)
print(new_str)
print(list_test6)
list_test7 = ['world', 12, 87, '中文']
list_test8 = ['how', 'are', 'you']
list_test7.extend(list_test8)
print(list_test7)
4、访问
list_test9 = ['中国', 100, '周年', '中国', 100, 34, 100]
print(list_test9[0])
print(list_test9.index(100, 5, 7))
print(list_test9.count('中国'))
print(list_test9[1:4])
5、成员运算,返回布尔值
list_test10 = ['hello', 'python', 'hello', 'world']
print('hello' in list_test10)
print('python' not in list_test10)
6、排序
list_test10 = [1, 5, 15, 3, 100]
print(chr(65))
print(ord('A'))
list_test10.sort()
print(list_test10) # 原排序已发生变化
list_test11 = [1, 5, 15, 3, 100]
new_str = sorted(list_test11) # 有返回值
print(new_str)
print(list_test11) # 原排序没有发生改变
print(sorted(list_test10,reverse=True))
7、倒序
list_test12 = ['Welcome', 'to', 'Guangzhou', '!']
print(list_test12.reverse()) # 没有返回值,直接改变原来排序
print(list_test12)
print(list_test12[::-1])
8、其它方法
list_test12 = [5, 3, 9, 7]
list_test13 = [5, 3, 9, 'a', ['b', 12]]
print(max(list_test12))
print(min(list_test12))
print(sum(list_test12))
print(len(list_test12))
print(len(list_test13))
元组
tuple_test1 = (1, 'python', ['when', 3, 5], 'python', 66)
tuple_test2 = (3,)
print(type(tuple_test1), type(tuple_test2))
print(tuple_test1[2])
print(tuple_test1[1:4])
print(tuple_test1[::-1])
tuple_test3 = (2, 4, 2, 5, 1, 'hello', (1,), (1,))
print(set(tuple_test3)) # 元组去重里面不能有列表,否则会报错
print(tuple_test3.count((1,))) # 注意:对元组的元素进行统计,不是对整个元组统计个数
print(len(tuple_test3))
tuple_test4 = (1, 5, 2, 7)
print(max(tuple_test4))
print(min(tuple_test4))
print(list(tuple_test4)) # 将元组转换成列表,不改变原 元组
tuple_test5 = (3, 4, 5, ['a', 'b', 88])
tuple_test5[3][0] = 'b'
print(tuple_test5)
tuple_test5[0] = 9 # 非元组里面的列表元素,不能修改
print(tuple_test5) # 报错