python列表

#列表的增删改查,insert,append,del,pop,remove,

#输入

list1 = [1,2,3]
#在列表末尾添加一个元素
list1.append('a')
list1.append('b')
list1.append('c')
print(list1)
print('*******************************************')

#在列表中的某一个位置添加一个元素
list1.insert(1,'c')
print(list1)
print('*******************************************')

#根据索引删除列表中的某一个值
del list1[0]
print(list1)
print('*******************************************')

#弹出列表中的某一个值,默认弹出最后一个
list1.pop()
print(list1)

list1.pop(0)
print(list1)
print('*******************************************')

#根据列表元素值删除列表
list1.remove(2)
print(list1)


#输出

[1, 2, 3, 'a', 'b', 'c']
*******************************************
[1, 'c', 2, 3, 'a', 'b', 'c']
*******************************************
['c', 2, 3, 'a', 'b', 'c']
*******************************************
['c', 2, 3, 'a', 'b']
[2, 3, 'a', 'b']
*******************************************
[3, 'a', 'b']

#关于列表的其他方法
#sort,sorted,reverse,len

#输入

#sort对列表进行永久性排序,即sort是列表的一个方法
list1 = ['b','a','c','d']
print(list1)

list1.sort()
print(list1)
print('*'*20)

#sorted对列表进行临时性的排序,sorted不是列表的方法
list2 = ['b','a','c','d']
print(list2)
print(sorted(list2))
print(list2)
print(20*'*')

#永久性反转列表
print(list2)
list2.reverse()
print(20*'*')

#求得列表的长度,值是一个整数
print(list2)
print('列表的长度是:',len(list2))
print(20*'*')

#输出

['b', 'a', 'c', 'd']
['a', 'b', 'c', 'd']
********************
['b', 'a', 'c', 'd']
['a', 'b', 'c', 'd']
['b', 'a', 'c', 'd']
********************
['b', 'a', 'c', 'd']
********************
['d', 'c', 'a', 'b']
列表的长度是: 4
********************
#关于列表的一些操作
#for循环,range的使用,列表解析,列表切片,列表复制


#输入

#for循环遍历列表
names = ['alice','bob','club','dive']
for name in names:
    print(f'hello ,world,i am {name.title()}')
print('*'*40)

#range生成数字列表,
#range是一个生成器对象,不能直接生成列表,需要强制类型转换
numm1 = list(range(10))
print(numm1)
numm2 = list(range(5,10))
print(numm2)
numm3 = list(range(10,5,-1))
print(numm3)

print('*'*40)

#列表解析
#将range和for一起使用,得到意想不到的效果
list0 = [i for i in range(10)]
print(list0)
list1 = [i**2 for i in range(10)]
print(list1)
list2 = [i//2 for i in range(20)]
print(list2)

print('*'*40)

#列表切片
#切片用于把列表中连续的某一段数据取出,并不会改变列表,相当于进行了复制操作
fib = [1,1,2,3,5,8,13,21,34,55]
fib1 = fib[::]
fib2 = fib[::-1]
fib3 = fib[:3]
fib4 = fib[1:3]
fib5 = fib[3:1:-1]
for i in range(1,6):
    print(f"fib{i}",eval(f"fib{i}"))

print('*'*40)

#列表复制
#直接复制不会产生新的列表,相当于两个标签同时指向一个内存地址;切片会产生一个新的列表,在内存中表#现为有两个内存地址
a = [1,2,3,4]
b = a
c = a[::]
a.append(5)
print(a)
print(b)
print(c)

print('*'*40)


#输出

hello ,world,i am Alice
hello ,world,i am Bob
hello ,world,i am Club
hello ,world,i am Dive
****************************************
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[5, 6, 7, 8, 9]
[10, 9, 8, 7, 6]
****************************************
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
[0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9]
****************************************
fib1 [1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
fib2 [55, 34, 21, 13, 8, 5, 3, 2, 1, 1]
fib3 [1, 1, 2]
fib4 [1, 2]
fib5 [3, 2]
****************************************
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
[1, 2, 3, 4]
****************************************

上一篇:基于DDD的微服务设计和开发实战


下一篇:Linux系统编程—信号捕捉