python---contêiner de dados

recipiente de dados

1.7 Contêineres de Dados

1.7.1 Introdução

1. Como uma variável pode definir vários dados? ? ?

  • A definição da variável do container é adotada. Você pode usar definições de container, coleções, etc.

2. O que é um contêiner de dados?

Pode armazenar vários dados python

3. Tipos comuns de contêineres de dados

  • lista
  • tupla
  • str
  • definir coleção
  • dicionario dicionario

1.7.2 lista lista

1. Introdução

  • Literal
  • definir variáveis
  • definir uma lista vazia

# 定义列表1
a=[1,2,3,4,5,6,8]
print(a)
print(type(a))
# 保存多种数据类型
x=[1,1,2,'张三',True,False,None]
print(x)
# 空列表
print([])

2. Aninhamento de lista

# 定义列表2
b=[1,2,3,4,5,6,8,[1,2,3,]]
print(b)
print(type(b))

1.7.3 tupla tupla

1. Introdução

2. A lista pode ser modificada, mas a tupla não. A tupla é equivalente a uma lista somente leitura. Uma vez definida, ela não pode ser modificada.

3. O caminho da definição

  • Literal
  • atribuição direta
  • maneira de classe

4. Caso simples

  • Várias formas de criar
  • definir uma tupla vazia

# 元组创建
a=(1,2,3,'你好')
b=()
c=tuple()
print(a)
print(b)
print(c)
print(type(a))

5. Defina uma única tupla

  • Ao definir uma tupla de um único elemento, você precisa prestar atenção ao formato da definição
  • Quando os dados de entrada são um, uma vírgula deve ser adicionada após, caso contrário, será automaticamente reconhecido como o tipo de dados int correspondente

# 定义单个元素的元组,注意语法格式!!!!
d=(1)
e=(1,)
print(d)
print(e)
print(type(d))
print(type(e))

6. Aninhamento de tuplas

# 元组嵌套
dd=((1,2,3,),4,5,6,(7,8,9))
print(type(dd))
print(dd)

7. Obtenha os dados na tupla

  • O método de busca de dados é o mesmo de buscar os dados na coleção de listas, ou seja, não pode ser modificado.

dd=((1,2,3,),4,5,6,(7,8,9))
print(dd[0])
print(dd[-1])
print(dd[0][0])

1.7.4 String str

1. Introdução

  • Há usos e introduções na frente

2. Índice subscrito

  • Métodos de passagem direta e reversa

# str的遍历
s="hello word"
# 正向索引
print(s[0])
print(s[1])
print(s[2])
print(s[3])
print(s[4])
# 反向索引
print(s[-1])
print(s[-2])
print(s[-3])
print(s[-4])

3. A string pode ser modificada? ? ? ? ? não suporta

  • Como modificar dados em uma string

A menos que modificado pela redefinição do valor na string da versão

s='12122'
print(s)

1.7.5 conjunto de coleta

Defina um dicionário vazio, {} não é compatível com o conjunto para definir uma coleção vazia. Tome cuidado. Ao definir um conjunto vazio, ele é definido na forma de set(). .

1. O que aprender

2. Analise o contêiner de dados original

  • set não permite duplicatas. . .

3. Definição

# 定义
s={1,2,3,4,5,6}
y=set()
z={} #这个定义的是空的字典并不是空的set要注意
print(s)
print(y)
print(z)

4. Como acessar? ? ? ? ?

  • Índices subscritos não são suportados e podem ser modificados. Por não estar ordenado, o índice torna-se inválido.

5. Operações básicas de cobranças

# 添加新元素,相同的会自动的省略掉
y.add(1)
y.add(1)
y.add(2)
y.add(3)
y.add(4)
y.add(5)
print(y)
# 移除元素
y.remove(1)
print(y)
# 取出元素,无参数的,随机取一个
y.pop()
print(y)
# 清空set
y.clear()
print(y)

6. Diferença de conjuntos

  • Leva a diferença de dois conjuntos. O que se tira é que o conjunto 1 tem mas o conjunto 2 não tem é o conjunto da diferença, o conjunto em si não muda e obtém-se um novo conjunto
  • não altera a coleção em si

# set的差集
a={1,2,3}
b={1,4,5,6}

# 差集的获取,difference
print("差集,",a.difference(b))
print(f"a,{a}")
print(f"b,{b}")

2. Elimine a diferença entre dois conjuntos, método difference_update

  • A coleção 1 será modificada, mas a coleção 2 não. Elimine os elementos do conjunto 1 que são iguais aos do conjunto 2.


#消除差集,此时集合a会受到改变的
a={1,2,3}
b={1,4,5,6}
print("消除差集,",a.difference_update(b))
print(f"a,{a}")
print(f"b,{b}")

3. A coleção é mesclada sem se alterar e uma nova é obtida, união

# 集合合并,不改变本身,得到一个新的,union
a={1,2,3}
b={1,4,5,6}
print("集合合并,",a.union(b))
print(f"a,{a}")
print(f"b,{b}")

4. Conte o número na coleção

  • Observe que a coleção em si é desduplicada

# 统计集合中的数量
a={1,2,3}
b={1,4,5,6}
print(len(a))
print(len(b))

5. Travessia da coleção

Suporta o loop while, ou seja, não suporta o acesso ao índice, mas suporta o loop for correspondente, semelhante à travessia do objeto

# 集合的遍历
# 不支持while循环,也就是不支持index访问的方式,但是支持对应的for循环的方式,类似对象的遍历的方式
b={1,4,5,6}
for i in b:
    print(i,' ',end='')

6. Resumo

7. Características do conjunto

8. atravessar

9. Uso

  • Pode ser despesado

1.7.6 Dicionário do dicionário

1. Definição

  • dicionários no dia a dia

  • O dicionário em py, a chave encontra o valor do valor correspondente

  • Formato de dados semelhante ao json

2. Definição

Diferente da definição de conjunto

# 字典的定义
# 字面量的方式
stu={
           
           
    "name":"张三",
    "age":18,
    "sex":"男"
}
print(stu)
# 定义空字典,set中是不支持{}定义空的集合的
em={}
em2=dict()
print(type(em))
print(type(em2))

3. Definir dicionários repetidos

  • Conjuntos e dicionários são muito semelhantes.
  • A chave não é permitida, mas o valor correspondente à chave é possível. Por padrão, ela é desduplicada automaticamente. Por padrão, apenas o valor correspondente à última chave pode ser salvo. Os novos substituem os antigos.

4. Como obtê-lo? ? /

  • O método de aquisição de chave usado não pode usar o método de índice para obter os dados correspondentes.

# 数据获取
print(stu['name'])
print(stu['age'])
print(stu['sex'])

5. Aninhamento de dicionários

  • Aninhado pode ser obtido

# 嵌套的字典
stu={
           
           
    "name":"张三",
    "age":18,
    "sex":"男",
    "score":{
           
           
        "a":99,
        "b":89,
        "c":18
    }
}
print(stu)
print(stu['score'])
print(stu['score']['a'])

1.7.7 O índice da seguinte tabela de lista

1. Classificação do índice

  • Índice de encaminhamento: O índice do primeiro subscrito é 0. Comece a incrementar sequencialmente.
  • Índice reverso: de trás para frente, começando com -1.

  • Obtenha os dados no índice aninhado

2. Obtenha o elemento correspondente ao índice

mylist=['张三','李四','王五',[20,30,40]]

# 正向索引
print(mylist[0])
print(mylist[1])
print(mylist[2])
print(mylist[3])
# 反向索引
print(mylist[-1])
print(mylist[-2])
print(mylist[-3])
print(mylist[-4])
# 取嵌套中的数据
print(mylist[-1][0])
print(mylist[-1][1])
print(mylist[-1][2])

1.7.8 Operações comuns de lista

Um método de operação simples pode ser executado, como adicionar, excluir, modificar, verificar e contar o número

Reabastecimento:

A diferença entre uma função e um método é na verdade a mesma em essência, e a forma de usar e chamar é diferente. O último é chamado por meio do objeto de classe e não pode ser chamado diretamente.

1. Consulta

# list常用的方法
mylist=['张三','李四','王五','赵六']

index obtém o valor do índice

# index获取索引的值
print(mylist.index("张三"))

2. Modifique o valor do índice especificado

  • É a operação de reatribuição

#修改指定下标的值
print(mylist[1])
mylist[1]='李四修改'
print(mylist[1])

3. Insira, posição especificada

#插入元素,可以在指定的位置插入指定的元素,索引是0开始的
mylist.insert(1,"陈二")
print(mylist)

4. Anexar ao final

# 插入到尾部
mylist.append("网管")
print(mylist)

5. Adicione um lote de dados

  • ampliar

# 插入多个元素
mylist2=[1,2,3]
mylist.extend(mylist2)
print(mylist)

6. Exclua os dados no local especificado

del é uma palavra-chave para excluir dados

# 删除指定位置的数据del
print(mylist)
del mylist[2]
print(mylist)

7. pop exclui os dados na posição de índice especificada

  • pop é o método de lista usado para deletar dados
  • O valor dos dados a serem excluídos pode ser obtido

#pop方法删除指定位置数据的删除,有返回值的
print(mylist)
temp=mylist.pop(0)
print(f"被删除的数据是,{temp}")
print(mylist)

8. Exclua a primeira ocorrência do elemento. O valor passado é o parâmetro

# remove,从前往后删除第一个匹配的元素
print(mylist)
mylist.remove("网管")
print(mylist)

9.claro vazio

# 清空
print(mylist)
mylist.clear()
print(mylist)

10. Conte o número de ocorrências de um determinado elemento.

# 统计某个元素出现的数量
mylist=[1,1,2,3,4,5,8,45,44,88,15]
print(mylist)
print(mylist.count(1))

11. Conte o número de todos os elementos da lista

# 全部元素的数量
print(len(mylist))

O código completo para o caso acima


# list常用的方法
mylist=['张三','李四','王五','赵六']

# index获取索引的值
print(mylist.index("张三"))

#修改指定下标的值
print(mylist[1])
mylist[1]='李四修改'
print(mylist[1])
#插入元素,可以在指定的位置插入指定的元素,索引是0开始的
mylist.insert(1,"陈二")
print(mylist)

# 插入到尾部
mylist.append("网管")
print(mylist)

# 插入多个元素
mylist2=[1,2,3]
mylist.extend(mylist2)
print(mylist)

# 删除指定位置的数据del
print(mylist)
del mylist[2]
print(mylist)
#pop方法删除指定位置数据的删除,有返回值的
print(mylist)
temp=mylist.pop(0)
print(f"被删除的数据是,{temp}")
print(mylist)

# remove,从前往后删除第一个匹配的元素
print(mylist)
mylist.remove("网管")
print(mylist)

# 清空
print(mylist)
mylist.clear()
print(mylist)

# 统计某个元素出现的数量
mylist=[1,1,2,3,4,5,8,45,44,88,15]
print(mylist)
print(mylist.count(1))
# 全部元素的数量
print(len(mylist))

resultado:

0
李四
李四修改
['张三', '陈二', '李四修改', '王五', '赵六']
['张三', '陈二', '李四修改', '王五', '赵六', '网管']
['张三', '陈二', '李四修改', '王五', '赵六', '网管', 1, 2, 3]
['张三', '陈二', '李四修改', '王五', '赵六', '网管', 1, 2, 3]
['张三', '陈二', '王五', '赵六', '网管', 1, 2, 3]
['张三', '陈二', '王五', '赵六', '网管', 1, 2, 3]
被删除的数据是,张三
['陈二', '王五', '赵六', '网管', 1, 2, 3]
['陈二', '王五', '赵六', '网管', 1, 2, 3]
['陈二', '王五', '赵六', 1, 2, 3]
['陈二', '王五', '赵六', 1, 2, 3]
[]
[1, 1, 2, 3, 4, 5, 8, 45, 44, 88, 15]
2
11

resumo:

resumo da lista

1.7.9 O caso da lista

Código de referência

# list列表案例
# 定义
mylist=[21,25,21,23,22,20]
print(f'初始化,{mylist}')

# 添加到尾部
mylist.append(31)
print(f'添加后,{mylist}')

# 追加列表
mylist.extend([29,33,30])
print(f'追加列表后,{mylist}')

# 取出第一个元素
print(mylist[0])

# 取出最后一个元素
print(mylist[-1])

# 查找31,的下表位置
print(mylist.index(31))

1.7.10 Passagem de lista

  • For loop para percorrer dados

# list的遍历
mylist=[21, 25, 21, 23, 22, 20, 31, 29, 33, 30]
# 遍历
for i in range(0, len(mylist)):
    print(mylist[i])

1.7.11 Operações básicas de tuplas

1. índice, encontre a tabela abaixo. A tabela abaixo quando aparece pela primeira vez. Os subscritos começam em 0

2. count conta o número de ocorrências de uma tupla de dados

3. len, conta o número de elementos na tupla

# 元组的基本操作
dd=((1,2,3,),4,5,6,(7,8,9),4,8)
print(type(dd))
print(dd)

#index,查找下表。第一次出现时候的下表。下标从0开始的
print(dd.index(4))
# count统计某个元组数据出现的次数
print(dd.count(4))
# len,统计元组内元素的个数
print(len(dd))

4. Percurso de tuplas

A maneira dos loops for e while é consistente com a travessia de listas.

5. Tuplas são somente leitura e não podem ser modificadas

Modificação obrigatória.

6. Os dados da lista armazenados na tupla podem ser modificados

aa=(1,2,3,[4,5,6])
print(aa)
aa[-1][0]=111
print(aa)

resumo

1.7.12 O caso das tuplas

escreva o código você mesmo

1.7.13 Operação básica de str

1.método index, obtém o valor do índice do elemento especificado

# index,获取某个元素第一次出现的索引
print('index,获取某个元素第一次出现的索引',s.index('o'))

2. O método replace, a essência é obter uma nova string, porque a própria string não pode ser modificada

  • O primeiro parâmetro é a string a ser modificada
  • O segundo parâmetro é o resultado modificado

# replace方法,实质是得到一个新的字符串,因为字符串本身是不允许修改的
print('replace方法,实质是得到一个新的字符串,因为字符串本身是不允许修改的',s.replace('zhangsan','张三'))

3. método split, string dividida

# split方法,分割字符串的
x='hello,world,hi,zhangsan'
print(x.split(','))
print(type(x.split(',')))

4. Conte o número de ocorrências de um caractere em uma string, conte

# 统计字符串中某个字符出现的次数,count
print(x.count('h'))

5. O comprimento da string estatística, len

# 统计字符串的长度,len
print(len(xx))

6. tira()

Semelhante ao trim em Java, preste atenção ao passar parâmetros

  • Quando nenhum parâmetro é passado, os espaços iniciais e finais são removidos
  • Pode ser realizado ao passar em parâmetros

1) Nenhum parâmetro é passado em

# 去掉字符串头和尾的空格
x="          hi              zhangsan  "
print(x)
xx=x.strip()
print(xx)

2) Passe nos parâmetros

  • Preste atenção ao diagrama de efeitos da realização

# 去除指定的字符串,包含字串啊!!!
x="12hi 12  zhangsan21"
print(x)
xx=x.strip("12")
print(xx)
xx

resumo

Características das cordas

1.7.14 Operação de divisão do contêiner de dados

1. Definição de sequência

2. Fatiamento de sequência

  • Obter o resultado de uma sequência menor de uma sequência maior

3. Método

  • fatia para a frente

O tamanho da etapa padrão é 1 e a subcoleção obtida é do mesmo tipo de dados que a original.

# list切片
mylist=[0,1,2,3,4,5,6,7,8,9,10]
print(f"mylist,{mylist}")
# 三个参数写两个,默认的步长就是1。包含头但是不包含尾的
re=mylist[1:4]
print(f"mylist[1:4]结果为,{re}")


# 元组
# 得到的结果还是本身的数据类型
tu=(0,1,2,3,4,5,6,7,8,9,10)
re=tu[1:4]
print(f"tu[1:4]结果为,{re}")

# 字符串
s="123456789"
re=s[1:4]
print(f"s[1:4]结果为,{re}")

  • fatia reversa

# 反向切片的时候需要从大的开始,然后从小的进行结束,并且步长指定为-1
# list切片
mylist=[0,1,2,3,4,5,6,7,8,9,10]
print(f"mylist,{mylist}")
# 三个参数写两个,默认的步长就是1。包含头但是不包含尾的
re=mylist[::-1] #相当于把序列进行了反转的操作
print(f"mylist[::-1]结果为,{re}")

re=mylist[3:1:-1] #相当于把序列进行了反转的操作
print(f"mylist[3:1:-1]结果为,{re}")

# 元组
# 得到的结果还是本身的数据类型
tu=(0,1,2,3,4,5,6,7,8,9,10)
re=tu[3:1:-1]
print(f"tu[3:1:-1]结果为,{re}")

# 字符串
s="123456789"
re=s[3:1:-1]
print(f"s[3:1:-1]结果为,{re}")

resumo

1.7.15 Operações comuns em dicionários

Se houver, será atualizado, caso contrário, será adicionado

1. Adicionar

2. Atualizar elementos

3.pop remove o elemento com a chave especificada

4.clear limpa todos os elementos


# 字典的操作
stu={
           
           
    "name":"张三",
    "age":18,
    "sex":"男",
    "score":{
           
           
        "a":99,
        "b":89,
        "c":18
    }
}
print(stu)

# 新增
stu['phone']='121212112'
print(stu)
# 修改
stu['sex']="女"
print(stu)
# 元素删除
stu.pop("sex")
print(stu)
# 全部删除
stu.clear()
print(stu)

5. Pegue todas as chaves

  • Útil: você pode percorrer o dicionário

# 获取全部的key
print(stu.keys())

6. Método de travessia do dicionário 1 - percorra todos os elementos do dicionário de acordo com todas as chaves

# 字典的遍历1
keys =stu.keys()
for key in keys:
    print('打印字典中的元素:',stu[key])

7. Executar diretamente um loop for no dicionário

  • Observe que cada vez que você obtém o valor da chave, precisa obter o valor do elemento separadamente
  • Ainda não é possível executar um loop while, e o método for loop é recomendado

# 字典的遍历方式2-直接进行遍历的方式
for i in stu:
    print("直接遍历:",stu[i])

8. Conte o número de elementos no dicionário

resumo

1.7.16 Comparação de Contêineres de Dados

1.7.17 Operações comuns para contêineres de dados

1. Operações comuns

2. Convertido

Na verdade, o conteúdo continua o mesmo, mas os símbolos que o representam mudaram.

3. Operação de classificação

# 公用操作
l=[1,78,2,39,88,3,22]
print(l)
# 默认从小到大,字典排序的是key,排序后的结果放到list中
print(sorted(l))
# 从大到小,reverse=True表示反向排序
print(sorted(l,reverse=True))

4. Resumo

1.7.18 Formas de Comparar Tamanhos de Strings

 

1. Como comparar o tamanho

  • baseado na tabela ascii
  • A essência é baseada na comparação de valores de código

2. Strings são comparadas em termos de bits

3. Caso

# 字符串的比较
print('ab'>'abc')
print('ab'<'abc')

4. Resumo

Acho que você gosta

Origin blog.csdn.net/weixin_41957626/article/details/129781799
Recomendado
Clasificación