Python基础——列表

coding

字符串列表

说明:

列表相当于其他语言的数组。可以用以下两种方式定义列表:

name = ['honda', 'yamaha', 'suzuki']

bicycles = list('trek', 'cannondale', 'redline', 'specialized')

列表的索引从0开始,用-1表示最后一项,而-2表示倒数第二项,以此类推例如:

print(name[0])    # 'honda'

print(name[-1]) # 'suzuki'

方法和函数:

方法:

def append(self, p_object): # 无返回值,添加一个对象到最后

""" L.append(object) -> None -- append object to end """

pass

def clear(self): # 无返回值,删除列表中所有项

""" L.clear() -> None -- remove all items from L """

pass

def copy(self): # 返回一个浅复制列表

""" L.copy() -> list -- a shallow copy of L """

return []

def count(self, value): # 返回整数——参数value在列表中的个数

""" L.count(value) -> integer -- return number of occurrences of value """

return 0

def extend(self, iterable): # 无返回值,将参数iterable扩展到原列表中

""" L.extend(iterable) -> None -- extend list by appending elements from the iterable """

pass

def index(self, value, start=None, stop=None): # 返回整数——参数value的第一个索引,如果不存在返回错误ValueError

"""

L.index(value, [start, [stop]]) -> integer -- return first index of value.

Raises ValueError if the value is not present.

"""

return 0

def insert(self, index, p_object): # 在索引index处,插入值p_object

""" L.insert(index, object) -- insert object before index """

pass

def pop(self, index=None): # 返回索引index的值,默认index取值为列表最后一个索引

"""

L.pop([index]) -> item -- remove and return item at index (default last).

Raises IndexError if list is empty or index is out of range.

"""

pass

def remove(self, value): # 无返回值,删除列表中第一个值为value的项

"""

L.remove(value) -> None -- remove first occurrence of value.

Raises ValueError if the value is not present.

"""

pass

def reverse(self): # 反转列表中元素的排序

""" L.reverse() -- reverse *IN PLACE* """

pass

def sort(self, key=None, reverse=False): # 排序列表,reverse=True时,返转排序结果

""" L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE* """

pass

View Code

函数:

  • del:如果知道要删除的元素的索引,可以用del语言删除该元素,与List方法pop(index)的区别在于del语句没有返回值,而pop(index)返回被删除的项

    numbers = list((1, 2, 3, 4, 5, 6))

    del numbers[2]

    print(numbers)

    # 输出

    # [1, 2, 4, 5, 6]

    numbers = list((1, 2, 3, 4, 5, 6))

    number = numbers.pop(2)

    print(numbers)

    print(number)

    # 输出

    # [1, 2, 4, 5, 6]

    # 3

  • 函数sorted()排序,sorted(reverse=True)反向排序,与List方法sort()的区别在于,函数sorted()返回一个排序列表,原列表元素依旧,而方法sort()排序的是原列表,无返回值

    cars = ['bmw', 'audi', 'toyota', 'subaru']

    print(sorted(cars, reverse=True))

    print(cars)

    cars.sort()

    print(cars)

    # 输出

    # ['toyota', 'subaru', 'bmw', 'audi']

    # ['bmw', 'audi', 'toyota', 'subaru']

    # ['audi', 'bmw', 'subaru', 'toyota']

  • 函数len()返回列表的长度

数值列表

可以使用for循环遍历列表

cars = ['bmw', 'audi', 'toyota', 'subaru']

for car in cars:

print(car.title())

使用函数range()可以生成一系列的数字,例如range(1, 10)将生成1到9之间的数字,注意该系统数字不包括range()最后一个参数所指定的数值。由上可知,C语言中的for(int i = 0; i < 10; i++)可以改成python中的for index in range(0, 10):

使用range()时,还可以创建步长,例如创建一个以2开始,步长为2的列表

even_numbers = list(range(2,11,2))

print(even_numbers) # [2, 4, 6, 8, 10]

对数值列表可以使用mix,max,sum等函数来计算该列表的最小值、最大值和总和

>>> digits = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]

>>> min(digits)

0

>>> max(digits)

9

>>> sum(digits)

4

列表解析

可以通过列表解析快速的创建一个需要通过计算而形成的列表,例如包含1~10的平方列表

squares = [value**2 for value in range(1, 11)]   # [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

注意:for语句后面不要加冒号(:)

切片

要创建切片,可指定要使用的第一个元素和最后一个元素的索引。例如:

players = ['charles', 'martina', 'michael', 'florence', 'eli']

print(players[0:3])  # ['charles', 'martina', 'michael']

和range()函数一样,切片处理的元素包含第一个参数指定的索引,不包含第二个参数指定的索引。如果省略第一个参数,表示从头切片,上例也可以表示为players[:3],如果省略第二个参数,表示从第一个参数指定索引开始提取出到列表末尾的所有元素。

也可以使用负数表示从后切片,例如:

players = ['charles', 'martina', 'michael', 'florence', 'eli']

print(players[-3:])  # ['michael', 'florence', 'eli']

复制列表

使用同时省略开始索引和结束索引的切片来复制列表。这样将复制出两份独立的列表,如果直接将原列表赋值给新的列表,两个变量将指向同一个列表

my_foods = ['pizza', 'falafel', 'carrot cake']

friend_foods = my_foods[:]

my_foods.append('cannoil')

friend_foods.append('ice sream')

print("My favorite foods are:")

print(my_foods)

print("\nMy friend's favorite foods are:")

print(friend_foods)

# 输出

# My favorite foods are:

# ['pizza', 'falafel', 'carrot cake', 'cannoil']

# My friend's favorite foods are:

# ['pizza', 'falafel', 'carrot cake', 'ice sream']

my_foods = ['pizza', 'falafel', 'carrot cake']

friend_foods = my_foods

my_foods.append("cannoil")

print(my_foods)

print(friend_foods)

# 输出

# ['pizza', 'falafel', 'carrot cake', 'cannoil']

# ['pizza', 'falafel', 'carrot cake', 'cannoil']

 元组

元组可以看成是只读的列表,元组中的元素一经定义其值将不能改变。元组的定义与列表类似,将中括号改为小括号即可定义元组。

可以使用list将元组转换成列表,使用tuple将列表转换成元组

以上是 Python基础——列表 的全部内容, 来源链接: utcz.com/z/509720.html

回到顶部