概述
这一篇简述列表、元组和字典,为什么没有类?
因为还没学到。。。
列表是什么
列表就是数组,对的,list,明显是翻译的锅。暂时从简单的开始,还没学到numpy.array,我猜那是后者更方便使用。
bicycles=['trek','cannondale','redline','specialized']
print(bicycles)
#use
print(bicycles[0])
这就是List,关于列表,关注的点无非是怎么使用、改变元素值、添加、插入、删除。。。【代码接上面】
#change
bicycles[0]='ducati'
print(bicycles[0])
#add to tail
bicycles.append('suzuki')
print(bicycles)
#add-insert
bicycles.insert(0,'yamaha')
print(bicycles)
#del
del bicycles[0]
print(bicycles)
还有几种奇怪的删除方式,比如
(1)将元素删除,并接着使用它的值。例如需要获得刚杀死的外星人的x,y坐标,以便在相应的位置显示爆炸效果。
(2)删除任意位置的元素;
(3)根据值删除元素。
bicycles=['trek','cannondale','redline','specialized']
print(bicycles)
#--del then use
popped_bicycles=bicycles.pop()
print(bicycles)
print(popped_bicycles)
#--del any element
popped_bicycles=bicycles.pop(2)
print(bicycles)
print(popped_bicycles)
#--del according to value
bicycles=['yamaha','trek','cannondale','redline','specialized']
too_expensive='yamaha'
bicycles.remove(too_expensive)
print(bicycles)
print('A '+too_expensive.title()+" is too expensive for me.")
#sort forever
bicycles=['yamaha','trek','cannondale','redline','specialized']
bicycles.sort()
print(bicycles)
bicycles.sort(reverse=True)
print(bicycles)
#sort temporary
bicycles=['yamaha','trek','cannondale','redline','specialized']
print(sorted(bicycles))
print(bicycles)
print(sorted(bicycles,reverse=True))
print(bicycles)
倒序显示可使用reverse(),获得列表长度可使用len()
#reverse
bicycles=['yamaha','trek','cannondale','redline','specialized']
bicycles.reverse()
print(bicycles)
#length
print(len(bicycles))
Python根据 缩进 来判断代码行与前一个代码行的关系。
遍历列表,注意冒号和缩进。
magicians=['alice','david','carolina']
for magician in magicians:
print(magician)
print("it is a trick.")
for这句话,从列表magicians中取出一个名字,将其存储到变量magician中【注意单复数,这书的作者是歪果仁。。。不过使用单复数方便判断是列表整体还是列表元素】。
for value in range(1,5):
print(value)
numbers=list(range(1,6))
print(numbers)
numbers=list(range(2,11,2))
print(numbers)
range()从第一个值开始数,到达第二个值停止,不包含第二个值。第三个参数代表步长。
简单的例子,以及一些统计计算
squares=[]#creat an empty list
for value in range(1,11):
square=value**2
squares.append(square)#add to the tail of the list
print(squares)
##
squares=[value**2 for value in range(1,11)]
print(squares)
print(min(squares))
print(max(squares))
print(sum(squares))
创建切片,可以生成列表的任意子集
players=['charles','martina','michael','florence','eli']
print(players[0:3])
print(players[2:4])
print(players[:4])
print(players[2:])
print(players[-3:])#last three
省略第一索引,则自动从头开始;
省略第二个索引,则自动到列表末尾。
负数索引代表到末尾相应距离的元素。
-遍历切片与复制列表
采用for遍历切片
players=['charles','martina','michael','florence','eli']
for player in players[2:]:
print(player.title())
#copy
my_food=['pizza','falafel','carrot','cake']
friend_food=my_food[:]
print(my_food)
print(friend_food)
my_food.insert(0,'cannoli')
friend_food.append('ice cream')
print(my_food)
print(friend_food)
在不指定索引的情况下从列表my_food中提取一个切片,从而创建了这个列表的副本,并将其存储到变量friend_food中。插入使用insert(),在末尾添加采用append()。
dimension=(200,50)
print(dimension[0])
在程序运行过程中不变,只能在定义时赋值。
总结一下:列表适合存储在程序运行期间变化的数据集,而元组则适用于存储程序运行期间不变的数据集。
就酱!