Python 列表
列表应用例子:
1.打印出家里所有猫的名字
catname=[]
while True:
print("输入第"+str(len(catname)+1)+'只猫的名字'+'(或者不输入直接回车结束.):')
name = input()
if name == "":
break
catname = catname+[name]
print("The cat names are:" ,name)
i=0
for name in catname:
i+=1
print('第'+str(i) +"只猫的名字是:"+name)
2.用循环列表打印出:
for i in [1,2,3,4,5]:
print(i)
3.列表中in的使用
spam = ['a','b','c','d']
while True:
print('输入字母:')
name = input()
if name in spam:
print("你输入的字母在列表中为:",name)
break
else:
print('你输入的字母不在列表中。')
4.列表中not in的使用
spam = ['a','b','c','d']
i=0
while True:
i+=1
print('输入字母:')
name = input()
if name not in spam:
print('你输入的字母不在列表中')
continue
else:
print('你输入的字母在列表中为:',name)
break
print('您使用了'+str(i)+'次猜中了列表中数字')
5.增强赋值
for i in range(5):
i +=1
print(i)
k=7
k -=1
print(k)
j =2
j +=1
j*=2
print(j)
l=10
l +=1
l /=2
print(l)
m=15
m +=1
m%=2
print(m)
print('\n')
6.列表中index查找索引位置
spam = ['a','b','c','d']
for i in range(1, 7):
print('输入26个字母中的1个:')
mu = input()
if mu in spam:
print('您输入的'+mu+'在列表中的'+str(spam.index(mu)+1)+"位置")
break
else:
print("您输入的字母不在列表中")
if 0<i<6:
print('您使用了'+str(i)+'次机会')
else:
print('您的6次机会已使用完')
7.列表append添加值
spam = ['a','b','c','d']
for i in range(len(spam)):
print('请输入第'+str(i+1)+'次需要添加的字母:',end=' ')
mu = input()
if mu != "j":
spam.append(mu)
elif mu == 'j':
print('输入了错误的J')
break
print(spam)
8.insert指定位置插入
import random
spam = ['a','b','c','d']
i = 1
while True:
if i < 11:
k = random.randint(0,4)
print("输出第"+str(i)+"次k的值:",k)
mu = input('请输入需要添加的字母:')
spam.insert(k,mu)
else:
break
i +=1
print("打印出现在的spam:",spam)
9.remove()删除列表中的元素
spam = ['a','b','c','d','a','b','c','d','a']
print("打印出现在的spam值:",spam)
for i in range(10):
k=input('请输入需要删除的abcd中的一个字母')
try:
spam.remove(k)
print("打印出删除过后的spam的值:",spam)
except ValueError:
print('列表中没有该元素了。',spam)
10.sort对列表排序
spam = []
for i in range(7):
print('请给列表添加数字:',end='')
j = int(input())
if j != 99:
spam.append(j)
elif j == 99:
print('输入了错误的数字:99')
break
try:
print("打印出已知的列表",spam)
spam.sort(reverse=False)
print('输出升序值',spam)
spam.sort(reverse=True)
print('输入降序值',spam)
except TypeError:
print("你的列表是数字和字母混合,不能排序")
11.可变和不可变的数据类型
name = 'Zophie a cat'
print('输出name:',name)
newname =name[0:7]+'the'+name[8:12]
print("newname =name[0:7]+'the'+name[8:12]")
print('输出newname:',newname)
print('改变id')
eggs=[1,2,3]
print(id(eggs))
eggs=[4,5,6]
print(id(eggs))
print('不改变id')
egg=[1,2,3]
print(id(egg))
del egg[2]
del egg[1]
del egg[0]
egg.append(4)
egg.append(5)
egg.append(6)
print(id(egg))
12.元组数据类型
eggs = ('hello',42,0.5)
print('输出eggs[ 0]:',eggs[0])
print('输出eggs[1:3]:',eggs[1:3])
print('计算eggs的长度:',len(eggs))
13.list,tuple数据类型的相互转换
tuple1=(1,2,4,6)
list1 =[4,5,6,7]
print('打印转换前的tuple1:',tuple1)
print('打印转换后的tuple1:',list(tuple1))
print('打印转换前的list1:',list1)
print('打印转换前的list1:',tuple(list1))
14.引用
s = 42
while True:
c=s
s = 100
print("输出s:",s,id(s))
print("输出c:",c,id(c))
break
sp = [0,1,2,3,4]
che =sp
print('sp的值为:',sp)
print('che的值为:',che)
while True:
print('输入判断值0或者1:',end=' ')
j = int(input())
if j == 0:
k =input('输出需要改变的值:')
che[0]=k
print('输出修改che[0]后che的值:',che,id(che))
print('输出修改che[0]后sp的值:',sp,id(sp))
break
elif j == 1:
k =input('输出需要改变的值:')
sp[0]=k
print('输出修改che[0]后che的值:',che,id(che))
print('输出修改che[0]后sp的值:',sp,id(sp))
break
else:
print('请输入0或者1')
continue
15.传递引用
def egg(some):
some.append('hello')
spam = [1,2,3,4]
egg(spam)
print(spam)
16.copy模块
import copy
spam= [1,'A',3,4,5]
cheese = copy.copy(spam)
cheese[1] = 2
print('输出spam的列表和ID:',spam,id(spam))
print('输出cheese的列表和ID:',cheese,id(cheese))
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。