Python学习笔记2—列表

2017-12-15  本文已影响0人  肉松饼饼

一、列表是什么

bicycles = ['trek','cannondale','redline']
print(bicycles)
bicycles = ['trek','cannondale','redline']
print(bicycles[0])

索引是从0开始的,-1返回最后一个列表元素,-2返回倒数第二个列表元素以此类推(通常可用在不知道列表长度的情况下访问最后的元素)。

二、修改、添加和删除元素

1、修改列表元素

bicycles = ['trek','cannondale','redline']
print(bicycles)
#修改元素值
bicycles[0] = 'handa'
print(bicycles)

2、添加元素

bicycles = ['trek','cannondale','redline']
print(bicycles)
#末尾添加元素
bicycles.append('handa')
print(bicycles)

方法append()让动态地创建列表易如反掌,可以先创建一个空列表,再使用一系列的append()语句添加元素。

bicycles = ['trek','cannondale','redline']
print(bicycles)
#在开头添加元素
bicycles.insert( 0 ,'handa')
print(bicycles)

3、从列表中删除元素

bicycles = ['trek','cannondale','redline']
print(bicycles)
#删除开头元素
del bicycles[0]
print(bicycles)

使用del可删除任何位置处的列表元素,条件是知道其索引。

bicycles = ['trek','cannondale','redline']
print(bicycles)
#删除末尾元素,保存被删除的值
popped_bicycle = bicycles.pop()
print(bicycles)
print(popped_bicycle)

注:index省略时表示删除末尾

bicycles = ['trek','cannondale','redline']
print(bicycles)
#删除特定值
bicycles.remove('redline')
print(bicycles)

使用remove( )从列表中删除元素时,也可以接着使用它的值,用变量储存起来。但是,方法remove( )只删除第一个指定的值,如果要删除的值可能在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值。

三、组织列表

1、使用sort()对列表进行永久性排序

bicycles = ['trek','cannondale','redline']
print(bicycles)
#排序
bicycles.sort()
print(bicycles)

上述是根据字母顺序排序,也可以按照字母顺序相反的顺序排序。

bicycles = ['trek','cannondale','redline']
print(bicycles)
#排序
bicycles.sort( reverse = True)
print(bicycles)

2、使用sorted()对列表进行临时排序

bicycles = ['trek','cannondale','redline']
print("Here is the original list:")
print(bicycles)

#排序
print("\nHere is the sorted list:")
print(sorted(bicycles))

print("\nHere is the original list again:")
print(bicycles)

若要按字母顺序相反排序,向函数sorted()传递参数reverse = True即可。

3、倒着打印列表

bicycles = ['trek','cannondale','redline']
print(bicycles)
#倒序
bicycles.reverse()
print(bicycles)

方法reverse()永久性地修改列表元素的排序顺序,但可随时恢复到原来的排列顺序,对列表在调用一次reverse()即可。

4、确定列表的长度 len(list)

bicycles = ['trek','cannondale','redline']
print(len(bicycles))

四、使用列表时避免索引错误

IndexError:list index out of range
使用列表发生索引错误时,可尝试将列表或其长度打印出来。

五、遍历整个列表

names = ['Tom','Alice','Nancy']
for name in names:
    print(name)

注:

六、创建数值列表

1、使用函数range()

for value in range( 1 , 4 ):
    print(value)

函数range ()从指定的第一个开始数,并在到达指定的第二个值后停止,因此输出不会包含第二个值。
注:使用range()时,如果输出不符合预期,请尝试将指定的值加1 或者减1。

2、使用range() 创建数字列表

numbers = list(range(start,step,end))
print(numbers)

注:步长step可以省略,默认为1。

3、对数字列表执行简单的统计计算

digits = [1,2,3,4,5,6,7,8]
print( min(digits) )
print( max(digits) )
print( sum(digits) )

4、列表解析

列表解析就是讲for循环和创建新元素的代码合并成一行,并自动附加新元素。

squares = [ ]
for value in range(1,11):
    square =value**2
    squares.append(square)
print(squares)

#列表解析
squares = [value**2 for value in range(1,11)]
print(squares)

七、使用列表的一部分

1、切片

names = ['Tom','Alice','Nancy']
print(names[0:3])

注:

2、遍历切片

如果要遍历列表的部分元素,可在for循环中使用切片。

names = ['Tom','Alice','Nancy']
for name in names[0:2]:
    print(name)

3、复制列表

names = ['Tom','Alice','Nancy']
another_names = names[:]
print(another_names)

八、元组

列表适合用于存储在程序运行期间可能变化的数据集,是可以修改的。元组是不可变的列表。看起来犹如列表,但使用圆括号而不是方括号来标识。使用方法和列表一样。
虽然不能修改元组的元素,但可以给存储元组的变量赋值(重新定义整个元组)。

dimensions = (200,100)
print("Original dimensions:")
for dimension in dimensions:
    print(dimension)

#修改元组变量
dimensions = (400,50)
print("\nModified dimensions:")
for dimension in dimensions:
    print(dimension)

相比于列表,元组是更简单的数据结构。如果需要存储的一组值在程序的整个生命周期内都不变,可使用元组。

上一篇下一篇

猜你喜欢

热点阅读