4.Python列表/元组/集合/字典

碧茂大数据 前天

4.1 Python列表

· 列表用 [ ] 标识,是Python 最通用的复合数据类型。
· 列表用 [ ] 表示,列表具有可嵌套性

4.1.1 Python列表截取

· 列表可以使用 [头下标:尾下标] 截取相应的子列表, 从左到右索引默认 0 开始,从右到左索引默认-1开始

4.1.2 Python列表截取与更新

· 列表操作(索引)

4.1.3 Python更新列表

· 可以对列表的数据项进行修改或更新,也可以使用append()方法来添加列表项。

4.1.4 Python删除列表元素

· 可以使用 del 语句来删除列表的的元素。

4.1.5 Python列表操作符

4.1.6 Python列表函数

4.1.7 Python列表方法

4.1.8 Python列表切片

· 列表操作(切片slicing ,用索引截取某一段列表)

· 加号+是列表连接运算符,星号*是重复操作。例如:

4.2 Python元组

· 元组是一种复合数据类型,类似于List(列表),元组用()”标识,内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。

· Tuples(元组、序列)

· Tuples操作

4.2.1 Python元组截取

4.2.2 Python元组不允许二次赋值

· Python元组不允许更新,而列表是允许更新的。以下对元组的操作是无效的。

4.2.3 元组内置函数

4.3 Python集合(Set)

· 集合(set)是由一个或数个形态各异的大小整体组成的
· 可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是{ },因为 { } 是用来创建一个空字典。
· 创建集合格式:

· 或者

4.4 Python字典

· 字典是一种映射类型,字典用“{}”标识,它是一个无序的键(key) : 值(value)对的集合。键(key)必须使用不可变类型。在同一个字典中,键(key)必须是唯一的。
· 字典是无序的对象集合。
· Dictionaries (Key-Value型Map)

4.5 Python序列

· 序列(sequence),在Python中是一种具有相同特性的高级数据结构的统称
· 序列的通用操作:
① 通过索引来获取元素值
② 分片操作
③ 通过+合并元素
④ 通过*来复制元素
⑤ 支持成员运算符
⑥ 最大值、最小值和长度函数支持

4.6 Python数据类型转换

· 对数据内置的类型进行转换,只需要将数据类型作为函数名即可。

4.7 实验

In:

ls1 = ['a,',['b',['c','d']]]

In:

id(ls1)

out:

2078516844424

In:

ls1 = ['c','d']

In:

id(ls1)

out:

2078505627016

In:

ls1

out:

['a,', ['b', ['c', 'd']]]

In:

ls1[1][1][1]

out:

'd'

In:

a1 = 1

In:

id(a1)

out:

140727695483280

In:

a1 = 2

In:

id(a1)

out:

140727695483312

In:

ls1[0] = 'f'ls1

out:

['f', ['b', ['c', 'd']]]

In:

id(ls1)

out:

2078516829704

In:

ls1.append(['h','g'])

In:

id(ls1)

out:

2078516844424

In:

ls1

out:

['f', ['b', ['c', 'd']], ['h', 'g']]

In:

del ls1[0]ls1

out:

[['b', ['c', 'd']], ['h', 'g']]

In:

ls2 = ['q','e']ls1 + ls2

out:

[['b', ['c', 'd']], ['h', 'g'], 'q', 'e']

In:

'q' in ls2

out:

True

In:

for x in ls2:    print(x, end=' ')

out:

q e 

In:

list((1,2))

out:

[1, 2]

In:

ls1.extend(ls2)ls1

out:

[['b', ['c', 'd']], ['h', 'g'], 'q', 'e', 'q', 'e', 'q', 'e']

In:

ls1.insert(0,'z')

In:

ls1

out:

['z', ['b', ['c', 'd']], ['h', 'g'], 'q', 'e', 'q', 'e', 'q', 'e']

In:

ls1.pop()ls1

out:

['z', ['b', ['c', 'd']], ['h', 'g'], 'q', 'e', 'q', 'e']

In:

ls1.remove('z')

In:

ls1

out:

[['b', ['c', 'd']], ['h', 'g'], 'q', 'e', 'q', 'e']

In:

ls1.reverse()

In:

ls1

out:

['e', 'q', 'e', 'q', ['h', 'g'], ['b', ['c', 'd']]]

In:

ls2.sort()

In:

ls2.sort(reverse=True)

In:

# ls1.sort() #嵌套类型不能用

In:

ls2

out:

['q', 'e']

In:

ls2.append('e')ls2

out:

['q', 'e', 'e']

4.7.1 元组

In:

tu1  = ('a',1,['c','d'])

In:

tu1[0] = 'e'

out:

---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

<ipython-input-38-75e55e2a1153> in <module>----> 1 tu1[0] = 'e'
TypeError: 'tuple' object does not support item assignment

4.7.2 集合

  • 不能重复

  • set()

  • 无序
    In:

set([1,1,2])

out:

{1, 2}

In:

a = set([1,2,3])b = set([4,2,3])

In:

a - b

out:

{1}

In:

a & b

out:

{2, 3}

In:

a | b

out:

{1, 2, 3, 4}

In:

a ^ b

out:

{1, 4}

4.7.3 字典

In:

dic1 = {'a':1,'b':2,'c':3}

In:

dic1['c']

out:

3

In:

#新增dic1['d'] = 4dic1

out:

{'a': 1, 'b': 2, 'c': 3, 'd': 4}

In:

s1 = None# null, nan

In:

dic1['e']

out:

---------------------------------------------------------------------------

KeyError                                  Traceback (most recent call last)

<ipython-input-61-898ad45657b2> in <module>----> 1 dic1['e']
KeyError: 'e'

In:

dic1.get('e',None)

In:

dic1.keys()

out:

dict_keys(['a', 'b', 'c', 'd'])

In:

for key in dic1.keys():    print(dic1[key])

out:

1234

In:

dic1.values()

out:

dict_values([1, 2, 3, 4])

In:

dic1.items()

out:

dict_items([('a', 1), ('b', 2), ('c', 3), ('d', 4)])

In:

for key,val in dic1.items():    print(key + "|" +str(val))

out:

a|1b|2c|3d|4

In:

lis1= ['a',1,['c','d']]

In:

a1,a2,a3 = lis1

In:

print(a1,a2,a3)

out:

a 1 ['c', 'd']

无序字典
In:

dic3 = {'a':1,'b':2}dic4 = {'b':2,'a':1}dic3 == dic4

out:

True

有序字典
In:

from collections import OrderedDictdic11 = OrderedDict()dic11['a'] = 1; dic11['b'] =2

In:

dic12 = OrderedDict()dic12['b'] = 2; dic12['a'] =1dic11 == dic12

out:

False

In:

print(dic11)

out:

OrderedDict([('a', 1), ('b', 2), ('c', 0), (1, 3)])

In:

dic11.

实验
在一个字典中保存了股票的代码和价格,找出股价大于100元的股票并创建一个新的字典。

说明:可以用字典的生成式语法来创建这个新字典。
In:

stocks = {    'AAPL': 191.88,    'GOOG': 1186.96,    'IBM': 149.24,    'ORCL': 48.44,    'ACN': 166.89,    'FB': 208.09,    'SYMC': 21.29}

In:

tar_dic = {}for key,val in stocks.items():    if val > 100:        tar_dic[key] = val

In:

tar_dic

out:

{'AAPL': 191.88, 'GOOG': 1186.96, 'IBM': 149.24, 'ACN': 166.89, 'FB': 208.09}

In:

tar_dic2 = {key:val for key,val in stocks.items() if val > 100}

In:

tar_dic2

out:

{'AAPL': 191.88, 'GOOG': 1186.96, 'IBM': 149.24, 'ACN': 166.89, 'FB': 208.09}
END
不看的原因确定内容质量低不看此公众号
(0)

相关推荐

  • python空字典怎么写

    字典是另外一种可变容器模子,且可存储恣意类型工具. 字典的每一个键值(key=>value)对用冒号(:)宰割,每一个对之间用逗号(,)宰割,整个字典包罗正在花括号({})中 . 格局以下所示: ...

  • 第11天:Python 字典

    Python 中的字典提供了一种灵活的访问和组织数据的方式 字典是由很多值组成的集合 字典的索引可以是不同的数据类型,同样也不止是整数,也有字符串 字典的索引被称为"键",键及键所 ...

  • Python学习——for循环,生成器,迭代器详解

    文章目录 Python的for循环 for循环示例 List 列表循环 dict 字典循环 列表生成式 生成器 列表式生成器 函数式生成器 生成器式生产者消费者模型 迭代器 什么是迭代器 再论for循 ...

  • SPL 中调用 Python 程序

    集算器是强大的数据计算引擎,但目前对于机器学习算法的提供还不够丰富.而 python 中有许多此类算法.借助 YM 外部库,就可以让集算器 SPL 调用 python 写的代码,从而弥补这一不足.下面 ...

  • python基础

    python基础

  • python字典常见用法总结

    Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应值成对组成.字典也被称作关联数组或哈希表.基本语法如下: 注意: 每个键与 ...

  • Python中is与==的使用区别详解

    Python中is与==的使用区别详解

  • Python |解决粉丝字典排序问题

    问题描述 解决方案该问题主要是涉及到字典排序,首先要了解字典是由键值对组成,分别由键(姓名)值(分数)组成,该问题就是以值对键值对进行排序:首先要对python中的字典中的键值对进行了解:Dict.i ...

  • Python列表与元组有什么相同点?基础分享!

    无论从事Python相关工作还是刚刚学习Python,想必大家都听说过Python列表和元祖吧,而且经常有人将他们混为一谈,那么你知道Python列表和元组有什么相同点和不同点吗?我们通过这篇文章来看 ...

  • Python列表与元组有什么作用?入门分享!

    Python数据类型分为七大类,其中最为常见的就是列表和字典,是使用Python必须掌握的基础.那么Python列表和字典有什么不同之处?我们一起来看看吧. 列表 1. 任意对象的有序集合,列表是一组 ...

  • Python中什么是有序序列?列表元组及字符串

    Q:Python中的列表.元组.字符串是有序序列吗? A:当然,列表.元组.字符串是Python中的有序序列,其中列表是可变对象,元组和字符串是不可变对象,接下来我们一起来看看具体的内容介绍吧. 什么 ...

  • 数据结构基础1-列表、元组、字典、集合知识点总结

    AI研习图书馆,发现不一样的世界 数据 结构 Python数据结构基础知识点总结 1. 列表 序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字- 它的位置,或索引,第一个索引是0, ...

  • 什么是Python列表?与元组有何区别?

    Python中,有三种内建的数据结构,列表.元组和字典,那么它们之间有什么区别呢?我们通过这篇文章来看看吧. 什么是Python列表? 列表是由一系列按特定顺序排列的元组组成的.在Python中,用[ ...

  • Python|列表和元组

    问题描述1.如何用Python内置的一种数据类型,即列表对元素进行查找.增加.删除.2.元组与列表有什么区别呢?解决方案1.用一个列表示出同学的名字,然后用索引来查到每一个名字的位置,但记得索引是从0 ...

  • Python|列表与元组

    问题描述列表可以进行增删改查,但元组一经初始化后就不能再进行修改了,需要对增删改查进行掌握.解决方案列表创建只需要用逗号把不同的数据项分隔开即可,列表用的是"[]",而元组用的是& ...

  • python列表

    列表list是python中最常用的数据类型,其类似于其他语言中的数组,但也有不同,主要的区别在于list中的元素可以是不同的数据类型. 1.列表的创建 创建一个列表,只要用方括号把数据项括起来即可. ...

  • Python No.18_集合以及表示符号

    # !/usr/bin/env python# -*- coding:utf-8 -*-# Author:Hugolinhj list_1 = [1,4,5,7,6,3,7,9]list_1 = se ...