列表
用方括号([] )表示列表,并用逗号分隔其中的元素。
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
删除
使用del 语句删除元素
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
del motorcycles[0]
使用方法pop() 删除元素
不指定索引值时删除列表末尾元素并返回删除的元素:
motorcycles = ['honda', 'yamaha', 'suzuki']
last_owned = motorcycles.pop()
指定索引时删除并返回指定位置的元素:
motorcycles = ['honda', 'yamaha', 'suzuki']
first_owned = motorcycles.pop(0)
使用remvoe方法根据值删除元素
motorcycles = ['honda', 'yamaha', 'suzuki', 'ducati']
print(motorcycles)
❶ motorcycles.remove('ducati')
**注意:**方法remove() 只删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要使用循环来确保将每个值都删除。
apples = ['a', 'b', 'c', 'b']
duplicateCount=apples.count('b')
for duplicateElement in range(duplicateCount):
apples.remove('b')
print(apples)
排序
使用方法sort() 对列表永久排序
cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort()
print(cars)
使用函数sorted() 对列表临时排序
函数sorted() 让你能够按特定顺序显示列表元素,同时不影响它们在列表中的原始排列顺序。
for循环
❶ magicians = ['alice', 'david', 'carolina']
❷ for magician in magicians:
❸ print(magician)
注意:python中没用大括号来标明循环体的起止位置,而是用缩进来表示。(按照标准缩进单位为4个空格)
注意: magicians后面有一个冒号
如果for语句的下一行没缩进的话会直接报错。在其他语言中我们的大括号里可以为空,那么在python中怎么写一个空的for循环呢?可以在for的循环体写一个pass。pass在python里表示一个空值,就是一个placeholder,可以表示以后会往里面放代码。
在写for循环时我们可能会经常要用到range方法
for i in range(3):
print(i)
# output: 0 1 2
for i in range(0,3):
print(i)
# output: 0 1 2
列表解析
列表解析 将for 循环和创建新元素的代码合并成一行,并自动附加新元素。
squares = []
for value in range(1,11):
❶ squares.append(value**2)
print(squares)
squares = [value**2 for value in range(1, 11)]
print(squares)
**表示乘方运算
要使用这种语法,首先指定一个描述性的列表名,如squares 。然后,指定一个左方括号,并定义一个表达式,用于生成要存储到列表中的值。在这个示例中,表达式为value**2 ,它计算平方值。接下来,编写一个for 循环,用于给表达式提供值,再加上右方括号。在这个示例中,for 循环为for value in range(1,11) ,它将值1~10提供给表达式value**2 。请注意,这里的**for** 语句末尾没有冒号。
列表的切片
players = ['charles', 'martina', 'michael', 'florence', 'eli']
❶ print(players[0:3])
与range用法类似,遵循左闭右开。
output:
['charles', 'martina', 'michael']
起始索引不指定则表示从索引0开始,终止索引不指定则表示终止索引值为len(list)。
players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players[:4])
output:
['charles', 'martina', 'michael', 'florence']
复制列表
要复制列表,可创建一个包含整个列表的切片,方法是同时省略起始索引和终止索引([:] )。这让Python创建一个始于第一个元素、终止于最后一个元素的切片,即整个列表的副本。
list1=[1,2,3]
list2=list1
list3=list1[:]
list1.append(4)
list2.append(5)
print(list1)
print(list2)
print(list3)
output:
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
[1, 2, 3]
元组
创建一系列不可修改的元素。但是你可以对元组变量进行重新赋值。
元组看起来很像列表,但使用圆括号而非中括号来标识。定义元组后,就可使用索引来访问其元素,就像访问列表元素一样。
❶ dimensions = (200, 50)
❷ print(dimensions[0])
print(dimensions[1])
注意 严格地说,元组是由逗号标识的,圆括号只是让元组看起来更整洁、更清晰。如果你要定义只包含一个元素的元组,必须在这个元素后面加上逗号
my_t = (3,)