【学习笔记】Python编程:从入门到实践(第三章)


用这一系列文章来记录自学《python编程:从入门到实践》一书中的所有代码,包括书中代码和课后练习。

第3章 变量和简单数据类型

3.1 列表是什么

  • 给列表指定一个复数的名称
#3.1 bicycles.py
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles)

#3.1.1 访问列表元素
print(bicycles[0])  #只返回列表中的元素,不包括方括号和引号
print(bicycles[0].title())

#3.1.2 索引从0开始
print(bicycles[1])
print(bicycles[3])
print(bicycles[-1])

#3.1.3 使用列表中的各个值
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
message = "My first bicycle was a " + bicycles[0].title() + "."
print(message)

练习

#3-1 姓名
names = ['Buranny', 'Ann', 'Candy', 'David']
print(names[0], names[1], names[2], names[-1])

#3-2 问候语
message = ", how are you?"
print(names[0] + message)
print(names[1] + message)
print(names[2] + message)
print(names[3] + message)

#3-3 自己的列表
ways = ['bike', 'motorcycle', 'bus', 'subway']
message = "I would like to go to school by "
print(message + ways[0])
print(message + ways[1])
print(message + ways[2])
print(message + ways[3])

3.2 修改、添加和删除元素

  • 为控制用户,可首先创建一个空列表,用于存储用户将要输入的值,然后将用户提供的每个新值附加到列表中。

3.2.1 motorcycles.py

#3.2.1 motorcycles.py
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
motorcycles[0] = 'ducati'
print(motorcycles)

3.2.2 添加元素

#3.2.2 添加元素
#1.末尾添加元素:append()
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)

motorcycles.append("ducati")  #这里用“”或者‘’都没有影响,因为在列表里就是单引号
print(motorcycles)

motorcycles = []

motorcycles.append('honda')
motorcycles.append('yamaha')
motorcycles.append('suzuki')

print(motorcycles)

#2.列表中插入元素:insert()
motorcycles = ['honda', 'yamaha', 'suzuki']
motorcycles.insert(0, 'ducati')
print(motorcycles)

3.2.3 从列表中删除元素

  • del是删除语句,del放在开头;pop()是用在列表名称之后的命令
  • 每当使用pop() 时,被弹出的元素就不再在列表中了
  • 如果你要从列表中删除一个元素,且不再以任何方式使用它,就使用del 语句;如果你要在删除元素后还能继续使用它,就使用方法pop()
  • 使用remove() 从列表中删除元素时,也可接着使用它的值
#3.2.3 从列表中删除元素
#1.del语句删除:知道索引
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)

del motorcycles[0]
print(motorcycles)

motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)

del motorcycles[1]
print(motorcycles)

#2.pop()删除:删除末尾元素,类似于弹出栈顶元素
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)

popped_motorcycles = motorcycles.pop()
print(motorcycles)
print(popped_motorcycles)

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

last_owned = motorcycles.pop()
print("The last motorcycle I owned was a " + last_owned.title() + '.')

#3.用pop()弹出列表中任何位置的元素
motorcycles = ['honda', 'yamaha', 'suzuki']

first_owned = motorcycles.pop(0)
print('The first motorcycles I owned was a ' + first_owned.title() + '.')

#4.根据值删除元素:remove()
motorcycles = ['honda', 'yamaha', 'suzuki', 'ducati']
print(motorcycles)

motorcycles.remove("ducati")
print(motorcycles)

motorcycles = ['honda', 'yamaha', 'suzuki', 'ducati']
print(motorcycles)

too_expensive = 'ducati'
motorcycles.remove(too_expensive)
print(motorcycles)
print('\nA ' + too_expensive.title() + ' is too expensive for me.')

练习

#3-4 嘉宾名单
names = ['Andy', 'Buranny', 'Candy']
message = ', would you like to have dinner with me?'
print(names[0] + message)
print(names[1] + message)
print(names[2] + message)

#3-5 另一位嘉宾
print(names[0] + " can't go with me.")

names.pop(0)
names.insert(0, 'David')
print(names[0] + message)
print(names[1] + message)
print(names[2] + message)

#3-6 更大的餐桌
print("I have found a bigger table!")

names.insert(0, 'Ann')
names.insert(2, 'John')
names.append('Judy')
print(names[0] + message)
print(names[1] + message)
print(names[2] + message)
print(names[3] + message)
print(names[4] + message)
print(names[5] + message)

#3-7 缩减名单
print("I can just invite two guests.")

print("Dear " + names.pop() + ", I'm sorry I can't invete you to my home.")
print("Dear " + names.pop() + ", I'm sorry I can't invete you to my home.")
print("Dear " + names.pop() + ", I'm sorry I can't invete you to my home.")
print("Dear " + names.pop() + ", I'm sorry I can't invete you to my home.")

print(names[0] + ", you are still in my lists.")
print(names[1] + ", you are still in my lists.")

del names[0]
del names[0]
print(names)

3.3 组织列表(排序)

  • 方法sort() 永久性地修改了列表元素的排列顺序(按字母排序)
  • 方法sort(reverse=True)永久逆序

3.3.1 sort()永久排序:cars.py

#3.3.1 sort()永久排序:cars.py 
cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort()
print(cars)

cars.sort(reverse=True)
print(cars)

3.3.2 函数sorted()对列表临时排序

  • [::-1]也是临时逆序打印
#3.3.2 函数sorted()对列表临时排序
cars = ['bmw', 'audi', 'toyota', 'subaru']

print("Here is the original list:")
print(cars)

print("\nHere is teh sorted list:")
print(sorted(cars))

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

3.3.3 reverse()倒着打印列表

  • reverse()永久性地逆序打印列表,只是按照列表的逆序,而非字母表逆序
  • 但是可以随时恢复,再使用一次reverse()即可
#3.3.3 reverse()倒着打印列表
cars = ['bmw', 'audi', 'toyota', 'subaru']
print(cars)
cars.reverse()
print(cars)

3.3.4 len()确定列表长度

cars = ['bmw', 'audi', 'toyota', 'subaru']
len(cars)

练习

#3-8 放眼世界
places = ['london', 'paris', 'tokyo', 'hawaii', 'newyork']
print(places)

print(sorted(places))
print(places)
print(places[::-1])  #[::-1]也是临时逆序打印
print(places)

places.reverse()
print(places)
places.reverse()
print(places)

places.sort()
print(places)
places.sort(reverse=True)
print(places)

#3-9 晚餐嘉宾
names = ['Andy', 'Buranny', 'Candy']
print(len(names))
发布了16 篇原创文章 · 获赞 0 · 访问量 130

猜你喜欢

转载自blog.csdn.net/niexinyu0026/article/details/104144338