百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

「python基础」字典、元组、列表、集合

toyiye 2024-06-21 12:26 10 浏览 0 评论

Python关键词:

  • 基础词:is,None,global,not,with,as,or,yield,assert,import,in,
  • 流程词:True,False,Try,finally,except,continue,for,if,elif,else,break,raise
  • 函数词:def,return,lambda,pass
  • 对象词:class

一、变量的好处?

  • 1.保存数据后面的代码使用
  • 2.代码的结构会更清晰 规格
  • 3.修改代码的时候方便 如果多出使用了一个变量 但是这个变量的值一旦改变 那么所用这个变量的代码也都会改变。

例如:

a = 1 # 那么也就是说 a是变量名 1是变量的值 最终我们把 1 赋值给了变量名 a 那么a就等于1

以下是a的运行结果

a = 1
print(a)
1

那么如果a = '1' # 在这里1 加了引号,所以它就不是一个整数了 它变成了一个字符串 如下:

a = '1'
print(a)
1

我们可以使用type()来查看a是什么类型如下:

type(a)
str # 在这里的str就代表着字符串的意思,如果是数字 那么就是int类型

二、我们要注意变量的命名规则:

  • 1.变量名不能使用中文 比如:延凯 = "zhangsan" 这是不行的
  • 2.变量名要写有含义的变量名如:name 而不是 mingzi 也不是 名字,或者:My_Name = yanzan
  • 3.变量名不能起Python的关键词如:if elif else false true 等等....
  • 4.连接符的话我们可以使用_ 如 My_name = yanzan
num = 4 # 首先我们这里num就是number的缩写,那么num = 4 那么也就是4赋值给了变量名num 
print(num) # 所得出来的结果就是Num 是 4
name = 'yanzan' # 在这里我们写了name = 'yanzan' 那么在这里我们加了单引号所以yanzan它是一个字符串
print(name)
'yanzan'

查看name以及num的类型

type(name) # 查看name的类型 就是str 如果是数字就是int 
str
type(num) # int就是整数的意思
int

三、变量整数的运算

例如1:

integer = 3 + 5
print(integer)
8 # 结果就是8

变量与变量赋值

mail = integer + 10
print(mail)
18

例如3:

integer = 10
mail = 5 + (4 - 3) * integer * 2
print(mail)
25

四、数学运算

其实在Python中比如我们要写号码 但是号码太长我们可以这么做

My_Iphone = 152_1000_2727_23232_7673
print(My_Iphone)
15210002727232327673 # 输出结果
type(My_Iphone) # 查看类型
int # 数字

字符串

name = input('name:')
name:MC.Lee
"zhangsan \
lisi \
wangwu \
"
'zhangsan lisi wangwu '

五、列表是什么?

以表格为容器,装载着文字或图表的一种形式,叫列表。

什么意思?

以csdn官网举例子如下:


首页

博客

学院

下载

GitChat

TinyMind

论坛

问答

商城

VIP

活动

招聘

ITeye


那么以上我们就可以称为列表;

2、开始编写Python列表

在Python中的列表其实就是两个中括号括起来如:[] 那么这就是一个列表

当我们查询某个字符串或者数字的类型时使用type能够查看类型,那么我们使用type查看[] 看看是什么类型如下:

type([])
list # 这里的list就是列表的意思

例如1:

my_list = [1, 2, 3, 4, 5,]
print(my_list) # 打印输出my_list变量
[1, 2, 3, 4, 5] # 输出结果

例如2:

Yanzan_list = ["zhangsan", 1, "123", True, False] # 尽量不要用多种类型来定义列表 不建议
print(Yanzan_list)
['zhangsan', 1, '123', True, False] # 输出结果

在上面的列表中我们定义了字符串str 定义了数字 int 同时也定义了True,以及False。 但是在一个列表中定义很多种类型是不建议的!!! 本章演示除外~~~

3、更新列表对列表进行增删改查

append(附加;贴上;盖章)

使用:

my_list = [1, 2, 3, 4, 5,] # 定义列表my_list
my_list.append("zhangsan") # 在my_list列表中附加上zhangsan字符串
my_list # 输出列表
[1, 2, 3, 4, 5, 'zhangsan'] # 输出结果

insert( 插入;嵌入)

使用:

my_list.insert(3,"lisi") # 在3的位置上添加lisi
my_list # 输出
[1, 2, 3, 'lisi', 4, 5, 'zhangsan']

列表都是从0开始算的如下:

[1, 2, 3, 'lisi', 4, 5, 'zhangsan']------------>0 1 2 3 4 5 6

[ : ] 用法:

目前的my_list内容如下:

[1, 2, 3, 'lisi', 'lisi', 4, 5, 'zhangsan']
my_list[:4] # 取前4个值 : 在前面
[1, 2, 3, 'lisi'] # 输出结果

no2.

[1, 2, 3, 'lisi', 'lisi', 4, 5, 'zhangsan']
my_list[4:]
['lisi', 4, 5, 'zhangsan'] # 输出结果

count (计算)

[1, 2, 3, 'lisi', 'lisi', 4, 5, 'zhangsan']
my_list.count("zhangsan") # 计算my_list列表中有几个zhangsan

比如我们在my_list列表中创建一个zhangsan字符串 如下

print(my_list)
[1, 2, 3, 'lisi', 'lisi', 4, 5, 'zhangsan']
my_list.insert(8,"zhangsan")
print(my_list)
[1, 2, 3, 'lisi', 'lisi', 4, 5, 'zhangsan', 'zhangsan']

再次使用count在my_list列表中有几个 如下:

my_list.count("zhangsan")
2

index (索引)

其实index用法很简单,一句话其实它就相当于一个导航来告诉我们想要找东西在什么位置如下:

print(my_list)
[1, 2, 3, 4, 'lisi', 5, 'zhangsan', 'zhangsan']
my_list.index("lisi") # 查询my_list列表中的lisi在什么位置
4

pop (删除)

print(my_list) # 输出my_list列表内容
[1, 2, 3, 4, 'lisi', 5, 'zhangsan', 'zhangsan']

删除lisi

my_list.pop(4)
'lisi'
print(my_list)
[1, 2, 3, 4, 5, 'zhangsan', 'zhangsan']

clear (清除)

print(my_list)
[1, 2, 3, 4, 5, 'zhangsan', 'zhangsan']
# 清除列表内容如下:
my_list.clear()
print(my_list)
[] # Null

列表的嵌套

例:

My_list = [1, 2, 3, 4, 5,]
My_Name = ["zhangsan", "lisi", "wangwu", "zhouliu", [My_list], "yanzange"]
print(My_Name)
['zhangsan', 'lisi', 'wangwu', 'zhouliu', [[1, 2, 3, 4, 5]], 'yanzange']

复制

names = ['lmc','wly',['xiaoming','xiaowang'],'tom']
names2 = names.copy()
#copy复制第一层,第二层复制的是列表元素指向的内存地址
#浅copy
#修改copy前外层不会导致copy后数据改变,修改内层会让copy数据一同改变
names[1]='123'
names[2][1]='amy'
print('names:',names)
print('names2:',names2)
names:['lmc','123',['amy','xiaowang'],'tom']
names2:['lmc','wly',['amy','xiaowang'],'tom']
import copy
?
person = ['name',['a',100]]
#三种浅copy的方式
p1=copy.copy(person)
p2=person[:]
p3=list(person)

浅copy的例子

p1=person[:]#基于person的浅copy
p2=person[:]
p1[0]='lmc'
p2[0]='wly'
p2[1][1]=900
print(p1)
print(p2)
['lmc', ['saving', 900]]
['wly', ['saving', 900]]

深copy

import copy
name2 = copy.deepcopy(names)

元组

  • 元组不可增删改
  • 元组可认为是静态列表
#语法例:
names = ('lmc','wly','tom')
#元组只有两个方法
#index获取下标,count统计个数
  • 元组的基本用法和列表一致,但它拥有上述两个特性

什么是字典?

  • 字典一种key - value 的数据类型,使用就像我们上学用的字典,通过笔划、字母来查对应页的详细内容。
  • 语法:
info = {
 'stu1101': "TengLan Wu",
 'stu1102': "LongZe Luola",
 'stu1103': "XiaoZe Maliya",
}
  • 字典的特性:
  • dict是无序的,没有下标
  • key必须是唯一的,so 天生去重
  • 查找
#安全查找的方式
info.get(key)
#有返回key对应的value,无返回None
----------------------------------------------
使用info[key]方式获取数据时,没有这个key会报错
----------------------------------------------
判断是否存在一个key
key in info
返回True存在,False不存在

其他用法

#values
>>> info.values()
dict_values(['LongZe Luola', 'XiaoZe Maliya'])
?
#keys
>>> info.keys()
dict_keys(['stu1102', 'stu1103'])
?
?
#setdefault有对应的key不覆盖,没有则创建
>>> info.setdefault("stu1106","lmc")
'lmc'
>>> info
{'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya', 'stu1106': 'lmc'}
>>> info.setdefault("stu1102","龙泽萝拉")
'LongZe Luola'
>>> info
{'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya', 'stu1106': 'lmc'}
?
?
#update 有key的更新,没对应的key则创建
>>> info
{'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya', 'stu1106': 'lmc'}
>>> b = {1:2,3:4, "stu1102":"龙泽萝拉"}
>>> info.update(b)
>>> info
{'stu1102': '龙泽萝拉', 1: 2, 3: 4, 'stu1103': 'XiaoZe Maliya', 'stu1106': 'lmc'}
?
#items 字典转列表
info.items()
dict_items([('stu1102', '龙泽萝拉'), (1, 2), (3, 4), ('stu1103', 'XiaoZe Maliya'), ('stu1106', 'lmc')])
?
?
#通过一个列表生成默认dict,有个没办法解释的坑,少用吧这个
#坑:多层字典时,value指向同一个内存地址,类似浅copy
>>> dict.fromkeys([1,2,3],'testd')
{1: 'testd', 2: 'testd', 3: 'testd'}
  • 循环dict
#方法1
for key in info:
 print(key,info[key])
?
#方法2
for k,v in info.items(): #会先把dict转成list,数据里大时莫用
 print(k,v)

集合

集合是一个无序的,不重复的数据组合,它的主要作用如下:

  • 去重,把一个列表变成集合,就自动去重了
  • 关系测试,测试两组数据之前的交集、差集、并集等关系
s = set([3,5,9,10]) #创建一个数值集合 
 
t = set("Hello") #创建一个唯一字符的集合 
?
?
a = t | s # t 和 s的并集 
 
b = t & s # t 和 s的交集 
 
c = t – s # 求差集(项在t中,但不在s中) 
 
d = t ^ s # 对称差集(项在t或s中,但不会同时出现在二者中) 
 
 
 
基本操作: 
 
t.add('x') # 添加一项 
 
s.update([10,37,42]) # 在s中添加多项 
 
 
 
使用remove()可以删除一项: 
 
t.remove('H') 
 
 
len(s) 
set 的长度 
 
x in s 
#测试 x 是否是 s 的成员 
 
x not in s 
#测试 x 是否不是 s 的成员 
 
s.issubset(t) 
s <= t 
#测试是否 s 中的每一个元素都在 t 中 
 
s.issuperset(t) 
s >= t 
#测试是否 t 中的每一个元素都在 s 中 
 
s.union(t) 
s | t 
#返回一个新的 set 包含 s 和 t 中的每一个元素 
 
s.intersection(t) 
s & t 
#返回一个新的 set 包含 s 和 t 中的公共元素 
 
s.difference(t) 
s - t 
#返回一个新的 set 包含 s 中有但是 t 中没有的元素 
 
s.symmetric_difference(t) 
s ^ t 
#返回一个新的 set 包含 s 和 t 中不重复的元素 
 
s.copy() 
#返回 set “s”的一个浅复制

相关推荐

为何越来越多的编程语言使用JSON(为什么编程)

JSON是JavascriptObjectNotation的缩写,意思是Javascript对象表示法,是一种易于人类阅读和对编程友好的文本数据传递方法,是JavaScript语言规范定义的一个子...

何时在数据库中使用 JSON(数据库用json格式存储)

在本文中,您将了解何时应考虑将JSON数据类型添加到表中以及何时应避免使用它们。每天?分享?最新?软件?开发?,Devops,敏捷?,测试?以及?项目?管理?最新?,最热门?的?文章?,每天?花?...

MySQL 从零开始:05 数据类型(mysql数据类型有哪些,并举例)

前面的讲解中已经接触到了表的创建,表的创建是对字段的声明,比如:上述语句声明了字段的名称、类型、所占空间、默认值和是否可以为空等信息。其中的int、varchar、char和decimal都...

JSON对象花样进阶(json格式对象)

一、引言在现代Web开发中,JSON(JavaScriptObjectNotation)已经成为数据交换的标准格式。无论是从前端向后端发送数据,还是从后端接收数据,JSON都是不可或缺的一部分。...

深入理解 JSON 和 Form-data(json和formdata提交区别)

在讨论现代网络开发与API设计的语境下,理解客户端和服务器间如何有效且可靠地交换数据变得尤为关键。这里,特别值得关注的是两种主流数据格式:...

JSON 语法(json 语法 priority)

JSON语法是JavaScript语法的子集。JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JS...

JSON语法详解(json的语法规则)

JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组注意:json的key是字符串,且必须是双引号,不能是单引号...

MySQL JSON数据类型操作(mysql的json)

概述mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据...

JSON的数据模式(json数据格式示例)

像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。JSON模式也以JSON格式编写。它用于验证JSON数据。JSON模式示例以下代码显示了基本的JSON模式。{"...

前端学习——JSON格式详解(后端json格式)

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLa...

什么是 JSON:详解 JSON 及其优势(什么叫json)

现在程序员还有谁不知道JSON吗?无论对于前端还是后端,JSON都是一种常见的数据格式。那么JSON到底是什么呢?JSON的定义...

PostgreSQL JSON 类型:处理结构化数据

PostgreSQL提供JSON类型,以存储结构化数据。JSON是一种开放的数据格式,可用于存储各种类型的值。什么是JSON类型?JSON类型表示JSON(JavaScriptO...

JavaScript:JSON、三种包装类(javascript 包)

JOSN:我们希望可以将一个对象在不同的语言中进行传递,以达到通信的目的,最佳方式就是将一个对象转换为字符串的形式JSON(JavaScriptObjectNotation)-JS的对象表示法...

Python数据分析 只要1分钟 教你玩转JSON 全程干货

Json简介:Json,全名JavaScriptObjectNotation,JSON(JavaScriptObjectNotation(记号、标记))是一种轻量级的数据交换格式。它基于J...

比较一下JSON与XML两种数据格式?(json和xml哪个好)

JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...

取消回复欢迎 发表评论:

请填写验证码