三小时快速入门Python第二篇--变量与集合
变量与集合
1、输入输出
1 # Python有一个打印语句 2 print ("I'm Python. Nice to meet you!") # => I'm Python. Nice to meet you! 3 4 # 获取控制台输入的简单方法 5 input_string_var = input("Enter some data: ") # 返回字符串类型的数据,从键盘输入的数据会以字符串的形式保存到 input_string_var 6 input_var = input("Enter some data: ") # 返回字符串类型的数据,从键盘输入的数据会以字符串的形式保存到 input_var 7 # 假设 input_var我们输入的是int类型的数据1234,那么我们需要进行类型转换 8 input_var # => "1234" 9 int(input_var) # => 1234 10 11 # 不需要先声明变量再使用 12 some_var = 5 # 通常使用小写字母与下划线命名变量 13 some_var # => 5 14 15 # 访问一个未定义的变量会抛出一个异常 16 # 在“控制流”里会介绍更多异常处理 17 some_other_var # 这里会抛出一个NameError 18 19 # if 可以用来写成类似C语言的 '?:' 条件表达式 20 "yahoo!" if 3 > 2 else 2 # => "yahoo!"
2、列表 List
1 # List用来存储列表 2 li = [] 3 # 可以有初始数据 4 other_li = [4, 5, 6] 5 6 # 添加元素到列表的尾 7 li.append(1) # [1] 8 li.append(2) # [1,2] 9 li.append(3) # [1,2,3] 10 li.append(4) # [1,2,3,4] 11 # 使用pop方法移除列表末尾的元素 12 li.pop() # => 3 列表现在为 [1, 2, 4] 13 # 把3再放回去 14 li.append(3) # li 现在为 [1, 2, 4, 3] 15 16 # 像数组一样访问一个list 17 li[0] # => 1 18 # 通过下标重新定义一个元素的值 19 li[0] = 42 20 li[0] # => 42 21 li[0] = 1 # 注意:设置回原始值 22 # 查看最后一个元素 23 li[-1] # => 3 24 25 # 查找超过数据长度的值会抛出异常: IndexError 26 li[4] # 抛出 IndexError 27 28 # 可以使用切片句法访问列表 29 # 这里类型数学上的开/闭区间 左闭右开 注意下标是从0开始 30 # 下标1-下标3[1,3) 31 li[1:3] # => [2, 3] 32 # 下标2到末尾 33 li[2:] # => [3, 4] 34 # 开头一直到下标3 35 li[:3] # => [1, 2, 3] 36 # 开始到末尾步长为2 37 li[::2] # =>[1, 3] 38 # 开始到末尾步长为-1 39 li[::-1] # => [4, 3, 2, 1] 40 # 使用高级切片句法 41 # li[start:end:step] 42 43 # 使用切片进行深层拷贝 44 li2 = li[:] # => li2 = [1, 2, 4, 3] 但 (li2 is li) 返回 false 45 46 47 # 使用“del”直接从列表中删除元素 48 del li[2] #liisnow[1,2,3] 49 50 # 可以直接添加一个列表 51 li + other_li #=>[1,2,3,4,5,6] 52 # 注: 变量li 和 other_li 值并没有变化 53 54 # 使用extend()方法,把列表串起来 55 li.extend(other_li) # Now li is [1, 2, 3, 4, 5, 6] 56 57 # 删除第一个值与参数相同的元素 58 li.remove(2) # li is now [1, 3, 4, 5, 6] 59 li.remove(2) # 抛出异常 ValueError 列表中没有2 60 61 # 在指定下标插入元素 62 li.insert(1, 2) # li is now [1, 2, 3, 4, 5, 6] again 63 64 # 获得第一个匹配的元素的下标 65 li.index(2) # => 1 66 li.index(7) # 抛出异常 ValueError 列表中没有7 67 68 # 使用“in”来检查列表中是否包含元素 69 1 in li #=>True 70 # 使用“len()”来检查列表的长度 71 len(li) # => 6
3、元组 Tuple
1 # 元组(Tuple)与列表类似但不可修改 2 tup = (1, 2, 3) 3 tup[0] # => 1 4 tup[0] = 3 # 抛出异常 TypeError 5 6 # 注意:如果一个元组里只有一个元素,则需要在元素之后加一个逗号;如果元组里没有元素,反而不用加逗号 7 type((1)) # => <class 'int'> 8 type((1,)) # => <class 'tuple'> 9 type(()) # => <class 'tuple'> 10 11 # 以下对列表的操作,也可以用在元组上 12 len(tup) # => 3 13 tup + (4,5,6) #=>(1,2,3,4,5,6) 14 tup[:2] #=>(1,2) 15 2 in tup #=>True 16 17 # 可以把元组的值分解到多个变量上 18 a,b,c= (1, 2, 3) #a is now 1,b is now 2 and c is now 3 19 d,e,f= 4,5,6 # 也可以不带括号 20 # 如果不带括号,元组会默认带上 21 g = 4, 5, 6 #=>(4,5,6) 22 # 非常容易实现交换两个变量的值 23 e, d = d, e # d is now 5 and e is now 4
4、字典 Dictionaries
1 # 字典用来存储(键-值)映射关系 有点类似于其他语言里面的map 2 empty_dict = {} 3 # 这里有个带初始值的字典 4 filled_dict = {"one": 1, "two": 2, "three": 3} 5 6 # 注意:字典 key 必须是不可以修改类型,以确保键值可以被哈希后进行快速检索 7 # 不可修改的类型包括:int, float, string, tuple 8 invalid_dict = {[1,2,3]: "123"} # => Raises a TypeError: unhashable type: 'list' 9 valid_dict = {(1,2,3):[1,2,3]} # 值可以是任意类型 10 11 # 使用[]查找一个元素 12 filled_dict["one"] # => 1 13 # 使用"keys()"获得所有的“键” 14 filled_dict.keys() # => ["three", "two", "one"] 15 # 注:字典的key是无序的,结果可以不匹配 16 # 使用"values()"获得所有的“值” 17 filled_dict.values() # => [3, 2, 1] 18 # 注:同样,这是无序的 19 20 # 查询字条中是否存在某个”键“用 "in" 21 "one" in filled_dict # => True 22 1 in filled_dict # => False 23 24 # 查找一个不存在的key会抛出异常 KeyError 25 filled_dict["four"] # KeyError 26 27 # 使用 "get()" 会避免抛出异常 KeyError 28 filled_dict.get("one") # => 1 29 filled_dict.get("four") # => None 30 31 # get方法支持默认参数,当key不存在时返回该默认参数 32 filled_dict.get("one", 4) #=>1 33 filled_dict.get("four", 4) # => 4 34 35 # 注 filled_dict.get("four") 仍然返回 None 36 # (get不会把值插入字典中) 37 # 向字典中插入值的方式与list相同 38 filled_dict["four"] = 4 # now, filled_dict["four"] => 4 39 40 # "setdefault()" 只有首次插入时才会生效 41 filled_dict.setdefault("five", 5) # filled_dict["five"] is set to 5 42 filled_dict.setdefault("five", 6) # filled_dict["five"] is still 5 43 44 # 使用 del 从字典中删除一个键 45 del filled_dict["one"] # Removes the key "one" from filled dict 46 47 # 从 Python 3.5 开始,可以使用**操作 48 {'a': 1, **{'b': 2}} # => {'a': 1, 'b': 2} 49 {'a': 1, **{'a': 2}} # => {'a': 2}
5、集合 Set
1 # Set与list类似,但不存储重复的元素 2 empty_set = set() 3 some_set = set([1, 2, 2, 3, 4]) # some_set is now set([1, 2, 3, 4]) 4 5 # 与字典类型一样,Set 里的元素也必须是不可修改的 6 invalid_set = {[1], 1} # => Raises a TypeError: unhashable type: 'list' 7 valid_set = {(1,), 1} 8 9 # Set也是无序的,尽管有时看上去像有序的 10 another_set = set([4, 3, 2, 2, 1]) # another_set is now set([1, 2, 3, 4]) 11 12 # 从Python 2.7开始, {}可以用来声明一个Set 13 filled_set={1,2,2,3,4} #=>{1,2,3,4} 14 # Can set new variables to a set 15 filled_set = some_set 16 # 向Set中添加元素 17 filled_set.add(5) # filled_set is now {1, 2, 3, 4, 5} 18 # 用 & 求 Set的交集 19 other_set = {3, 4, 5, 6} 20 filled_set & other_set # =>{3,4,5} 21 # 用 | 求 Set的合集 22 filled_set | other_set # =>{1,2,3,4,5,6} 23 # 用 - 前面的元素减去后面的元素 24 {1,2,3,4} - {2,3,5} # => {1,4} 25 # 用 ^ 求Set的差集 26 {1,2,3,4}^{2,3,5} #=>{1,4,5} 27 # 检查右边是否是左边的子集 28 {1, 2} >= {1, 2, 3} # => False 29 # 检查左边是否是右边的子集 30 {1, 2} <= {1, 2, 3} # => True 31 # 检查元素是否在集合中 32 2 in filled_set # => True 33 10 in filled_set # => False
分类:
Python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!