python-列表和切片
列表和元组
列表(list)
len()内置函数可查看列表中元素的个数
shop_list = ['iphone7','apple','ipad','coffee']
print shop_list
print len(shop_list) #输出列表元素数量
print shop_list[0] #输出列表某个值
print shop_list[-1] #输出倒数第一个
print shop_list[-3] #输出倒数第三个
print shop_list[5] #报错,超出列表的元素数量
切片
可以从列表取出制定多个元素,此操作叫做切片
shop_list = ['iphone7','apple','ipad','coffee','food','car','xiaomi']
print shop_list[0:3]
print shop_list[2:5]
print shop_list[:-3] #默认从0开始
print shop_list[-3:]
print shop_list[1:5:2] #每隔2个输出一个元素
print shop_list[::2] #全部每隔2个输出一个元素
增删改查
shop_list = ['iphone7','apple','iphone7','ipad','coffee','food','car','xiaomi']
shop_list = shop_list.append('mk') #向列表里面追加元素
shop_list = shop_list.pop() #删除最后一个元素
shop_list = shop_list.remove('iphone7') #删除制定元素,有重复,从左开始删除第一个
shop_list[2] = 'iphone8' #修改指定元素
shop = shop_list.count('iphone7')
元组
tuple和list非常相似,但是tuple 一旦初始化就不能修改
因为tuple不可变,所以代码更安全,如可能,能用tuple代替list就尽量用tuple
tuple1 = ('mk','cd','for','while')
print tuple1[0]
tuple2 = (1,)
猜拳小游戏案例:
定义游戏规则
引入模块
游戏规则
选择列表
#coding=utf-8
import random #引入模块:生成随机数模块
winlist = [['石头','剪刀'],['剪刀','布'],['布','石头']] #游戏规则
choicelist =('石头','剪刀','布') #选择列表
prompt = '''可选项如下,
(0)石头
(1)剪刀
(2)布
(3)退出
请输入你的选择(输入数字即可)'''
while True:
choicenum = int(raw_input(prompt))
if choicenum == 3:
break
userchoice = choicelist[choicenum]
comchoice = random.choice(choicelist)
bothchoice = [userchoice,comchoice]
print '你选择了%s,计算机选择了%s'%(userchoice,comchoice)
if userchoice == comchoice:
print '平局'
elif bothchoice in winlist:
print '你赢了'
else:
print '你输了'