Python 100Days 学习记录 Day6~10

https://github.com/jackfrued/Python-100-Days 我学习的网址,以下记录了我自身不太熟悉的知识点。

Day6 循环结构

for-in 循环

"""
每隔1秒输出一次“hello, world”,持续1小时

Author: 骆昊
Version: 1.0
"""
import time

for _ in range(3600):
    print('hello, world')
    time.sleep(1)

Day7 分支和循环结构实战

Day8 常用数据结构之列表-1

 一、列表的运算

可以使用+运算符实现两个列表的拼接,可以使用*运算符实现列表的重复运算

Day9 常用数据结构之列表-2

一、列表的方法

 1.删除和添加元素

languages = ['Python', 'Java', 'C++']
languages.append('JavaScript')
print(languages)  # ['Python', 'Java', 'C++', 'JavaScript']
languages.insert(1, 'SQL')
print(languages)  # ['Python', 'SQL', 'Java', 'C++', 'JavaScript']

 remove方法从列表中删除指定元素,只删除第一个符合的元素;pop方法默认删除列表中的最后一个元素,当然也可以给一个位置,删除指定位置的元素;列表还有一个clear方法,可以清空列表中的元素;

languages = ['Python', 'SQL', 'Java', 'C++', 'JavaScript']
if 'Java' in languages:
    languages.remove('Java')
if 'Swift' in languages:
    languages.remove('Swift')
print(languages)  # ['Python', 'SQL', C++', 'JavaScript']
languages.pop()
temp = languages.pop(1)
print(temp)       # SQL
languages.append(temp)
print(languages)  # ['Python', C++', 'SQL']
languages.clear()
print(languages)  # []

 2.元素的位置和频次

列表的index方法可以查找某个元素在列表中的索引位置,如果找不到指定的元素,index方法会引发ValueError错误;列表的count方法可以统计一个元素在列表中出现的次数,代码如下所示。

items = ['Python', 'Java', 'Java', 'C++', 'Kotlin', 'Python']
print(items.index('Python'))     # 0
# 从索引位置1开始查找'Python'
print(items.index('Python', 1))  # 5
# 从索引位置3开始查找'Java' print(items.index('Java', 3)) # ValueError: 'Java' is not in list
print(items.count('Python')) # 2

 3.元素排序和反转

列表的sort操作可以实现列表元素的排序,而reverse操作可以实现元素的反转,代码如下所示。

items = ['Python', 'Java', 'C++', 'Kotlin', 'Swift']
items.sort()
print(items)  # ['C++', 'Java', 'Kotlin', 'Python', 'Swift']
items.reverse()
print(items)  # ['Swift', 'Python', 'Kotlin', 'Java', 'C++']

 4.列表生成式

red_balls = list(range(1, 34))

items = [i for i in range(1, 100) if i % 3 == 0 or i % 5 == 0] nums1 = [35, 12, 97, 64, 55] nums2 = [] for num in nums1: nums2.append(num ** 2)

 Day10 常用数据结构之元组

一、元组的定义和计算

元组是不可变类型,这就意味着元组类型的变量一旦定义,其中的元素不能再添加或删除,而且元素的值也不能修改。

一个元组中如果有两个元素,我们就称之为二元组;一个元组中如果五个元素,我们就称之为五元组。需要提醒大家注意的是,()表示空元组,但是如果元组中只有一个元素,需要加上一个逗号,否则()就不是代表元组的字面量语法,而是改变运算优先级的圆括号,所以('hello', )(100, )才是一元组,而('hello')(100)只是字符串和整数

# 定义一个三元组
t1 = (35, 12, 98)
# 定义一个四元组
t2 = ('骆昊', 43, True, '四川成都')

# 查看变量的类型
print(type(t2))  # <class 'tuple'>

# 查看元组中元素的数量
print(len(t1))  # 3
print(len(t2))  # 4

# 索引运算
print(t1[0])    # 35
print(t2[-1])   # 四川成都

# 切片运算
print(t2[:2])   # ('骆昊', 43)
print(t2[::3])  # ('骆昊', '四川成都')

# 成员运算
print(12 in t1)         # True
print('Hao' not in t2)  # False

# 拼接运算
t3 = t1 + t2
print(t3)  # (35, 12, 98, '骆昊', 43, True, '四川成都')

# 比较运算
print(t1 == t3)            # False
print(t1 >= t3)            # False
print(t1 <= (35, 11, 99))  # False

 二、打包和解包操作

# 打包操作
a = 1, 10, 100
print(type(a))  # <class 'tuple'>
print(a)        # (1, 10, 100)
# 解包操作
i, j, k = a
print(i, j, k)  # 1 10 100
a = 1, 10, 100, 1000
i, *j, k = a
print(i, j, k)        # 1 [10, 100] 1000

 三、交换变量的值

a, b = b, a
a, b, c = b, c, a

 四、元组和列表的比较

元组是不可变类型,不可变类型更适合多线程环境;通常不可变类型在创建时间上优于对应的可变类型

Python 中的元组和列表类型是可以相互转换的。

infos = ('骆昊', 43, True, '四川成都')
# 将元组转换成列表
print(list(infos))  # ['骆昊', 43, True, '四川成都']

frts = ['apple', 'banana', 'orange']
# 将列表转换成元组
print(tuple(frts))  # ('apple', 'banana', 'orange')

 

posted @ 2025-02-19 17:43  Demiwang  阅读(20)  评论(0)    收藏  举报