''''''
'''
python列表
1、将所有元素都放在一对中括号 [] 中,相邻元素之间用逗号分隔
2、列表索引从 0 开始,第二个索引是 1,依此类推。
3、索引也可以从尾部开始,最后一个元素的索引为 -1,往前一位为 -2,以此类推。
4、列表可以存储整数、实数、字符串、列表、元组等任何类型的数据。
5、列表中的数据项可以进行修改,删除,也可以添加数据项。
'''
list1 = ['a','b','cc',555,666]
print(list1[0],list1[1],list1[4]) #输出 a b 666
print(list1[-1],list1[-2],list1[-4]) #输出 666 555 b
print(list1[1:3]) #截取列表 #输出 ['b', 'cc']
list1[2] = '222' #修改数据项
print(list1) #输出 ['a', 'b', '222', 555, 666]
list1.append('88888') #添加数据项
print(list1) #输出 ['a', 'b', '222', 555, 666, '88888']
del list1[2] #删除数据项
print(list1) #输出 ['a', 'b', 555, 666, '88888']
'''
python列表操作符
len() 计算列表长度
+ 组合列表
* 重复列表
in 元素是否存在于列表中
for x in [1, 2, 3]: 迭代列表
print(x)
'''
list1 = ['a','b','cc',555,666]
list2 = ['a','b',888]
print(len(list1),len(list2)) #输出 5 3
print(list1 + list2) #输出 ['a', 'b', 'cc', 555, 666, 'a', 'b', 888]
print(list1 * 3) #输出 ['a', 'b', 'cc', 555, 666, 'a', 'b', 'cc', 555, 666, 'a', 'b', 'cc', 555, 666]
if('cc' in list1): #输出 cc in list1
print('cc in list1')
else:
print('cc not in list1')
for a in list2:
print(a)
#输出
#a
#b
#888
'''
python嵌套列表
'''
list1 = ['a','c','d']
list2 = [1,4,3,6]
a = [list1,list2]
print(a[0]) #输出 ['a', 'c', 'd']
print(a[0][1]) #输出 c
b = [a,list2]
print(b[0]) #输出 [['a', 'c', 'd'], [1, 4, 3, 6]]
print(b[0][0]) #输出 ['a', 'c', 'd']
print(b[0][0][0]) #输出 a
'''
python列表操作函数
len(list) 列表元素个数
max(list) 列表元素最大值
min(list) 列表元素最小值
list(seq) 将元素转化为列表
'''
list1 = ['aa','bb','cc','dd']
print(len(list1),max(list1),min(list1)) #输出 4 dd aa
list1 = ['bbc','bb','dc','db']
print(len(list1),max(list1),min(list1)) #输出 4 dc bb
tuple1 = ('11','22','33')
print(list(tuple1)) #输出 ['11', '22', '33']
'''
python列表操作方法
list.append(obj) 在列表末尾添加新的对象
该方法无返回值,但是会修改原来的列表。
list.count(obj) 统计某个元素在列表中出现的次数
list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)。
seq -- 元素列表,可以是列表、元组、集合、字典,
若为字典,则仅会将键(key)作为元素依次添加至原列表的末尾。
list.index(obj, start, end) 从列表中找出某个值第一个匹配项的索引位置。
obj-- 查找的对象。
start-- 可选,查找的起始位置。
end-- 可选,查找的结束位置。
返回查找对象的索引位置,如果没有找到对象则抛出异常。
list.insert(index, obj) 将指定对象插入列表的指定位置。
index -- 对象obj需要插入的索引位置。
obj -- 要插入列表中的对象。
没有返回值,但会在列表指定位置插入对象。
list.pop([index=-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。
index -- 可选参数,要移除列表元素的索引值,
不能超过列表总长度,默认为 index=-1,删除最后一个列表值。
list.remove(obj) 移除列表中某个值的第一个匹配项
没有返回值但是会移除列表中的某个值的第一个匹配项。
list.reverse() 反向列表中元素。
没有返回值,但是会对列表的元素进行反向排序。
list.sort( key=None, reverse=False) 对原列表进行排序
key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。
list.clear() 清空列表
list.copy() 复制列表
返回复制后的新列表。
'''
list1 = ['11','22','33']
list2 = ['22','33']
list1.append('55')
print(list1)
print(list1.count('33'))
list1.extend(list2)
print(list1)
tuple1 = ('aa','bb')
list1.extend(tuple1)
print(list1)
print(list1.index('22'),list1.index('aa'))
list1.insert(3,'ccc')
print(list1)
list1.pop()
print(list1)
list1.pop(2)
print(list1)
list1 = ['11','22','33','22']
list1.remove('22')
print(list1)
list1 = ['11','22','33','44','55']
list1.reverse()
print(list1)
list1 = ['11','33','22','55','44']
list1.sort()
print(list1)
list1.sort(reverse=True)
print(list1)
def takeSecond(elem):
return elem[1]
list1 = [(1,8),(5,7),(3,2),(6,5)]
list1.sort(key=takeSecond)
print(list1)
list1.sort(key=takeSecond,reverse=True)
print(list1)
list1 = ['11','33','22','55','44']
list1.clear()
print(list1)
list1 = ['11','33','22','55','44']
list2 = list1.copy()
print(list2)