Python-列表&元组&字典

\n 换行

range()

max(list)

min(list)

sum(list)

append()

[:]列表副本

.upper()全部大写

del 字典键删除

.title()

首字母大写

sorted(字典.keys())排序

.get()不存在返回默认值

set(字典.values())

字典.items()键值对

字典.keys()

  • python根据缩进来判断代码行与前一个代码行的关系,根据缩进判断for循环的关系

  • range() 生成一系列数,差一行为

range(a:b) 生成a开始,b-1停止的数值列表

range(b)生成0到b-1的数字列表

range(a:b:c)生成从a到b-1间隔为c的数字列表

  • 数字列表的基本操作:max, min, sum

  • 列表:可变;元组:不可变

  • 通过索引对元组元素进行访问(like 列表),在Python中,试图修改元组的操作是被禁止的,因此不能够给元组的元素赋值。定义单元素元组必须加逗号!!!

  1. 使用for打印1~20

常规方法

numbers = []
for value in range(1, 21):
    numbers.append(value)
    print(numbers)
print(value)
# 结果为:
[1]
[1, 2]
[1, 2, 3]
[1, 2, 3, 4]
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6, 7]
[1, 2, 3, 4, 5, 6, 7, 8]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
20

这里展现一下缩进的效果:

numbers = []
for value in range(1, 21):
    numbers.append(value)
    print(numbers)
    print(value)
# 结果为:
[1]
1
[1, 2]
2
[1, 2, 3]
3
[1, 2, 3, 4]
4
[1, 2, 3, 4, 5]
5
[1, 2, 3, 4, 5, 6]
6
[1, 2, 3, 4, 5, 6, 7]
7
[1, 2, 3, 4, 5, 6, 7, 8]
8
[1, 2, 3, 4, 5, 6, 7, 8, 9]
9
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
10
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
11
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
12
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
13
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
14
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
15
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
16
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]
17
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18]
18
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
19
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
20

Process finished with exit code 0

如果第二个print语句没有缩进,则不属于for循环,因此只执行一次。

列表解析

number_list = [number for number in range(1, 21)]
print(number_list)
# 结果为:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
#求和
print(sum(number_list))
  1. 处理列表的部分元素—切片

my_foods = ['pizza', 'falafel', 'carrot']
# 将my_foods列表复制给friend_foods
friend_foods = my_foods[:]
# 对friend_foods 列表进行增删
friend_foods.append('ice cream')
print(my_foods)
print(friend_foods)
# 结果为:
['pizza', 'falafel', 'carrot']
['pizza', 'falafel', 'carrot', 'ice cream']

从以上代码可以看出,my_foods列表与friend_foods 列表不同,[:]表示将my_foods列表的副本定义给了friend_foods。

  1. 元组

# 定义元组并输出其第二个及第零个元素
numbers = (1, 2, 45, 5, 78, 9, 15)
print(numbers[2])
print(numbers[0])
# 结果为:
45
1
  1. if 语句

  • 多个条件判断 and or

  • in 检查特定值是不是包含在列表中 not in是否不包含在列表中

  • else代码块可以省略:else可能引入无效或恶意数据

  • 如果只想执行一个代码块,就用if-elif-else代码块,想执行多个代码块,用多个if语句

  1. 字典

  • 键值对的删除,del语句,指定字典名及要删除的键(for example: del students['name']),删除的键值对会永远消失

students = {}
students['name'] = input('请输入学生的姓名:')
students['age'] = int(input('请输入学生的年龄:'))
print(students)
print(f"{students['name']}")
year = int(input('请输入时间:'))
students['age'] = students['age'] + year
print(f"{year}年后, 学生的年龄为{students['age']}")
if students['age'] >= 18:
    print('该学生已经毕业。')
    del students['name']
    print(students)
else:
    print('该学生还在读。')
    print(students)
# 测试
请输入学生的姓名:emily
请输入学生的年龄:9
{'name': 'emily', 'age': 9}
emily
请输入时间:10
10年后, 学生的年龄为19
该学生已经毕业。
{'age': 19}
  • 确定使用多行来定义字典,在输入左花括号后按回车,在下一行缩进四个空格,指定第一个键值对,加一个逗号,再按回车,缩进四个字符,确定键值对……在最后一个键值对的下一行先缩进四个空格,后加右花括号。

student_age = {
    'Tom': 12,
    'Amy': 13,
    'David': 12,
    'Peter': 11,
    }
print(student_age)
# 结果为:
{'Tom': 12, 'Amy': 13, 'David': 12, 'Peter': 11}
  • 当字典中的键可能不存在时,可以采用get()在指定的键不存在时返回一个默认值,避免发生错误。

print_value = student_age.get('Candy', 'This student is not exist.'),get()共有两个参数,第一个参数为指定的键,第二个参数为指定键不存在时返回的值(可选)。若指定键不存在且第二个参数未指定,将返回None。

student_age = {
    'Tom': 12,
    'Amy': 13,
    'David': 12,
    'Peter': 11,
    }
print(student_age)
print_value = student_age.get('Candy', 'This student is not exist.')
print(print_value)
# 结果为:
{'Tom': 12, 'Amy': 13, 'David': 12, 'Peter': 11}
This student is not exist.
  • 遍历字典

for语句

sorted(字典.keys()): 按照插入顺序遍历字典;set(字典.values()):找出字典中的值,去除重复项,其结果为不重复的列表。

遍历字典中所有值(字典.values()),遍历字典中所有键(字典.keys())

  • 集合:可以用花括号直接建立,用逗号分开不同元素,不同于列表和字典,集合不会以特定的顺序存储元素

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值