文档章节

四、python中表示组的概念与定义

o
 osc_1ee7cxmx
发布于 2018/08/06 16:19
字数 780
阅读 0
收藏 0

精选30+云产品,助力企业轻松上云!>>>

现实世界中总是存在一组一组的事物,如俄罗斯方块、游戏中的技能、世界杯总决赛(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':'1','sort':1}
{'name': '1', 'sort': 1}

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

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

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

list可变的类型

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

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

 

2、特性

3、操作

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

深入浅出Zabbix 3.0 -- 第二章 Zabbix Web操作与定义

第二章 Zabbix Web操作与定义 本章介绍Zabbix 中一些基本概念的定义和web前端页面的操作,包括Zabbix中使用的一些术语的定义,Web页面中用户管理、主机和主机组的管理,以及监控项、模板、触...

osc_5zaxkz1e
21分钟前
14
0
深入浅出Zabbix 3.0 -- 第一章 Zabbix 安装与配置

第一章 Zabbix 安装与配置 1.1 Zabbix 介绍 Zabbix是一个企业级的开源监控软件,可以监控IT基础架构的可用性和应用的性能,为用户提供集中管理、分布式监控的一站式(all in one)监控解决方...

osc_nvkeo9cj
22分钟前
10
0
PHP 实现抽奖逻辑

public static function get_rand($proArr) { $result = ''; //概率数组的总概率精度 $proSum = array_sum($proArr); //概率数组循环 forea......

chenhongjiang
22分钟前
18
0
struts2 上传 下载

东方部落: http://11144439.blog.51cto.com struts中上传文件功能小测试。这里jar是 2.5 版本。 项目结构图 废话不多说,直接代码。 2. web.xml配置 <?xml version="1.0" encoding="UTF-8......

osc_1qix3fyb
24分钟前
31
0
SVN管理系统安装及其操作

SVN管理系统安装及操作 防伪码:学习永远不晚! 前言: SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上...

osc_afifi2qt
25分钟前
24
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部