前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python基础 day2(2)

Python基础 day2(2)

原创
作者头像
昆兰
发布2024-07-24 22:31:27
490
发布2024-07-24 22:31:27
举报
文章被收录于专栏:廖雪峰python学习笔记

使用list和tuple

列表

代码语言:python
代码运行次数:0
复制
classmates = ['Michael', 'Bob', 'Tracy']
#列表元素个数
len(classmates)
#列表的索引
classmates[0]

#列表的追加和删除末尾
classmates.append('Adam')
classmates.insert(1, 'Jack') #指定插入
classmates.pop()
classmates.pop(1) #删除位置1

#列表的元素替换
classmates[1] = 'Sarah'

元组

但是tuple一旦初始化就不能修改

代码语言:python
代码运行次数:0
复制
classmates = ('Michael', 'Bob', 'Tracy')

#只有一个元素要这么定义消除数字歧义
t = (1,)

条件判断

注意冒号和缩进

代码语言:python
代码运行次数:0
复制
age = 20
if age >= 6:
    print('teenager')
elif age >= 18:
    print('adult')
else:
    print('kid')


#简写
if x:
    print('True') 
#只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False

input输入的返回数据类型是字符串,不能和整数进行条件判断,需要借助int()

match语句的模式匹配

if判断有时比较麻烦,可以利用match语句;case _表示“任意值”;case非常灵活

代码语言:python
代码运行次数:0
复制
score = 'B'

match score:
    case 'A':
        print('score is A.')
    case 'B':
        print('score is B.')
    case 'C':
        print('score is C.')
    case _: # _表示匹配到其他任何情况
        print('score is ???.')

#复杂匹配
age = 15

match age:
    case x if x < 10:
        print(f'< 10 years old: {x}')
    case 10:
        print('10 years old.')
    case 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18:
        print('11~18 years old.')
    case 19:
        print('19 years old.')
    case _:
        print('not sure.')


#匹配列表
args = ['gcc', 'hello.c', 'world.c']
# args = ['clean']
# args = ['gcc']

match args:
    # 如果仅出现gcc,报错:
    case ['gcc']:
        print('gcc: missing source file(s).')
    # 出现gcc,且至少指定了一个文件:
    case ['gcc', file1, *files]:
        print('gcc compile: ' + file1 + ', ' + ', '.join(files))
    # 仅出现clean:
    case ['clean']:
        print('clean')
    case _:
        print('invalid command.')

循环

for...in循环

代码语言:python
代码运行次数:0
复制
sum = 0
for x in range(101): #range(i)成的序列是从0开始小于i的整数
    sum = sum + x
print(sum)

while循环

代码语言:python
代码运行次数:0
复制
#计算100内奇数之和
sum = 0
n = 99
while n > 0:
    sum = sum + n
    n = n - 2
print(sum)

break语句和continue语句配合if语句

代码语言:python
代码运行次数:0
复制
#计算100内奇数之和
n = 1
while n <= 100:
    if n > 10: # 当n = 11时,条件满足,执行break语句
        break # break语句会结束当前循环
    print(n)
    n = n + 1
print('END')


#只打印奇数,这里跳过了偶数
n = 0
while n < 10:
    n = n + 1
    if n % 2 == 0: # 如果n是偶数,执行continue语句
        continue # continue语句会直接继续下一轮循环,后续的print()语句不会执行
    print(n)

大多数循环并不需要用到break和continue语句

使用dict和set

字典

代码语言:python
代码运行次数:0
复制
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
d['Michael'] #查询键-值(key-value)

# 如果不存在则会返回None,不会显示在交互界面
d.get('Thomas') 
#指定和删除value
d.get('Thomas', -1)
d.pop('Bob')

dict的key必须是不可变对象,所以字符串、整数等都是不可变的,可以放心地作为key。而list是可变的,就不能作为key

set

一组key的集合,但不存储value,没有重复的key,同样不可以放入可变对象

set可以看成数学意义上的无序和无重复元素的集合

代码语言:python
代码运行次数:0
复制
s = {1, 2, 3}
#重复元素在set中自动被过滤
s = {1, 1, 2, 2, 3, 3}

s.add(4) #add(key),添加元素到set中
s.remove(4) #remove(key)方法可以删除元素
s1 & s2 #交集
s1 | s2 #并集

注意字符的不可变对象性质:

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用list和tuple
    • 列表
      • 元组
      • 条件判断
      • match语句的模式匹配
      • 循环
        • for...in循环
          • while循环
            • break语句和continue语句配合if语句
            • 使用dict和set
              • 字典
                • set
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档