现实世界中总是存在一组一组的事物,如俄罗斯方块、游戏中的技能、世界杯总决赛(8个小组,每组4个队)

一、python中如何表示“组”的概念

1、列表

1)定义

[1,2,3,4,5]

type[1,2,3,4,5]

2)特性

  • 组成列表的元素可以是不同的数据类型

  如['hello','world',1,9,True,False]

  • 列表的元素可以是列表,即嵌套列表。在其他语言也成为二维数组

  如[[1,2],[3,4],['a','b']]

3)基本操作

  • 访问某个元素——下标
  • 访问某些元素——切片
  • 更改元素的值——下标赋值
  • 追加——append()
  • 合并——+

二、元组

1、定义

(1,2,3,4,5)

2、特性

1)元素可以是不同的类型

2)元素可以是元组,即嵌套元组

3、基本操作

1)访问元素

tuple_a[0]

tuple_a[0:2]

2)运算

tuple_a+tuple_b

tuple_a*3

4、元组与列表的区别

列表:可更改元素的值

元组:不可更改元素的值

5、python中的一个习惯

int 表示 整型

str 表示 字符串

list 表示 列表

tuple 表示 元组

6、一个奇怪的现象

>>> type((1))
<type 'int'>
>>> type(('hello'))
<type 'str'>

原因是(1)、('hello')中的()表示的是数学运算,类似(1+1)*2
那么,如何定义只有一个元素的元组?

(1,)

如何定义一个空元组?

()

>>> type((1,))
<type 'tuple'>
>>> type(())
<type 'tuple'>

三、序列总结

关键是序列的“序”

1、python中对“组”的学术定义是“序列”

2、str、list、tuple都是序列

3、序列共有的操作

1)访问元素

>>> 'hello world'[0]
'h'

2)切片

>>> 'hello world'[0:5]
'hello'
>>> 'hello world'[0:-1]
'hello worl'
>>> 'hello world'[0:-7]
'hell'

3)运算+*

>>> 'hello'+'world'
'helloworld'
>>> 'hello'*3
'hellohellohello'

4)是否包含某个元素 in /not in

>>> 'h' not in 'hello world'
False
>>> 'h' in 'hello world'
True

5)获取长度 len()

>>> len([1,2,3,4,5])
5
>>> len('hello world')
11

6)min max最值

>>> min([1,3,7])
1
>>> max('hello world')
'w'

4、字符串中的字母可比较大小,根据ASCII码比较

ord()查看ASCII码

>>> ord(' ')
32
>>> ord('d')
100
>>> ord('w')
119

五、set集合

重要特性“无序”

1、定义

{1,2,3,4}

>>> type({1,2,3,4})
<type 'set'>
2、特性

1)无序

2)不重复

>>> {1,2,1,2,1,2}
set([1, 2])

3、操作

1)len()获取长度

2)in、not in包含

3)运算

-  差集

& 交集

|  并集/合集

4)如何表示一个空集合

set()

>>> type(set())
<type 'set'>
>>> len(set())
0
>>> type({})
<type 'dict'>

六、字典

1、定义

{key1:value1,key2:value2}

字典的本质是集合,无序

字典和集合的区别

1)元素构成不同:dict是key-value对,set的元素是str、int等基本数据类型

2、特性

1)元素是键值对

2)本质是集合,无序

3、操作

1)通过key访问value

dict_a['key1']

2)key不能重复,重复的元素会被删除

>>> {'name':'a','name':'b','name':'c'}
{'name': 'c'}
>>> {'name':'a','name':'b','name':'a'}
{'name': 'a'}
>>> {'name':'a','name':'b','name':'','sort':1}
{'name': '', 'sort': 1}

3)value可以是任意的数据类型,甚至dict,即字典可嵌套

4)key必须是不可变的数据类型

int、str、bool、tuple不可变的类型

list可变的类型

5)空字典如何定义?{}

>>> type({})
<class 'dict'>

2、特性

3、操作

四、python中表示组的概念与定义的更多相关文章

  1. Python(二) 表示‘组’的概念与定义

    现实世界中总存在一组一组的事物, 一.列表的定义 type(['hello','world',1,9,True,False]) = <class 'list'> type([[1,2,3, ...

  2. Python学习笔记整理(四)Python中的字符串..

    字符串是一个有序的字符集合,用于存储和表现基于文本的信息. 常见的字符串常量和表达式 T1=‘’ 空字符串 T2="diege's" 双引号 T3=""&quo ...

  3. 四 python中关于OOP的常用术语

    抽象/实现 抽象指对现实世界问题和实体的本质表现,行为和特征建模,建立一个相关的子集,可以用于 绘程序结构,从而实现这种模型.抽象不仅包括这种模型的数据属性,还定义了这些数据的接口. 对某种抽象的实现 ...

  4. Python核心技术与实战——十四|Python中装饰器的使用

    我在以前的帖子里讲了装饰器的用法,这里我们来具体讲一讲Python中的装饰器,这里,我们从前面讲的函数,闭包为切入点,引出装饰器的概念.表达和基本使用方法.其次,我们结合一些实际工程中的例子,以便能再 ...

  5. Neo4j:图数据库GraphDB(四)Python中的操作

    本文总结下Python中如何操作Neo4j数据库,用到py2neo包,Pip install 一下. 1 连接neo4j数据库:跟其它数据库一样,操作前必须输入用户名和密码及地址连接一下. from ...

  6. [19/09/19-星期四] Python中的字典和集合

    一.字典 # 字典 # 使用 {} 来创建字典 d = {} # 创建了一个空字典 # 创建一个保护有数据的字典 # 语法: # {key:value,key:value,key:value} # 字 ...

  7. [19/10/16-星期四] Python中的文件操作

    一.打开文件 # open(file, mode='r', buffering=-1, encoding_=None, errors=None, newline=None, closefd=True, ...

  8. python中的os,shutil模块的定义以及用法

    # os 模块 os.sep 可以取代操作系统特定的路径分隔符.windows下为 '\\' os.name 字符串指示你正在使用的平台.比如对于Windows,它是'nt',而对于Linux/Uni ...

  9. Python3(二) 表示‘组’的概念与定义

    现实世界中总存在一组一组的事物, 一.列表的定义 type(['hello','world',1,9,True,False]) = <class 'list'> type([[1,2,3, ...

随机推荐

  1. 设置sudo的过期时间

    默认sudo的过期时间过短,经常要输入密码 sudo visudo Defaults env_reset找到这行代码 后面加上timestamp_timeout参数,数值是分钟 ,timestamp_ ...

  2. 小米系列手机调试Installation failed with message Failed to establish session

    用Android studio 2.3调度程序时提示"Installation failed with message Failed to establish session"错误 ...

  3. HTTP 401.1 - 未授权:登录失败

    1 HTTP 401.1 - 未授权:登录失败 由于用户匿名访问使用的账号(默认是IUSR_机器名)被禁用,或者没有权限访问计算机,将造成用户无法访问.    解决方案: 1 打开IIS,右键站点,选 ...

  4. 算法(Algorithms)第4版 练习 1.3.14

    方法实现: //1.3.14 package com.qiusongde; import java.util.Iterator; import java.util.NoSuchElementExcep ...

  5. BZOJ 1605 [Usaco2008 Open]Crisis on the Farm 牧场危机:dp【找转移路径】

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1605 题意: 平面直角坐标系中,有n个点,m个标记(坐标范围1~1000). 你可以发出口 ...

  6. 前端多媒体(2)—— xhr异步接收处理二进制数据

    有时我们需要把远程的视频.图片数据异步下载下来,然后在js里进行特殊处理.比如把VR的图片特殊处理,把不同封装格式的视频做一次 转封装 处理等等,这类操作都要先获取二进制数据,然后特殊处理. 这个时候 ...

  7. 关于STM32中GPIO的8种工作模式

    CSDN:http://blog.csdn.net/l20130316 博客园:http://www.cnblogs.com/luckyalan/ 1 综述 I/O口是单片机中非常常用的外设,STM3 ...

  8. BZOJ_3671_[Noi2014]随机数生成器_set+贪心

    BZOJ_3671_[Noi2014]随机数生成器_set Description   Input 第1行包含5个整数,依次为 x_0,a,b,c,d ,描述小H采用的随机数生成算法所需的随机种子.第 ...

  9. 如何加快建 index 索引 的时间

    朋友在500w的表上建索引,半个小时都没有结束.所以就讨论如何提速. 一.先来看一下创建索引要做哪些操作:1. 把index key的data 读到内存==>如果data 没在db_cache ...

  10. 利用MEF实现插件机制(可根据输入类型来加载特定dll)

    最近在做PACS的项目中想利用插件来加载各个不同的SCP的操作实现.比如Worklist的查询数据库,可以有多个实现. 比如MPPS的更新,也可以有多个实现. 为了统一弹性处理插件模块,增加了类型输入 ...