Python元组与字符串操作(9)——随机数、元组、命名元组
随机数
import random #导入random模块
randint(a,b) 返回[a,b]之间的整数
random.randint(0,9)
randrange([start],stop,[step]) 从指定范围内,按指定step基数递增的集合中,获取一个随机数,基数缺省为1
random.randrange(2,15,5)
7
choice(seq) 从非空序列的元素中随机挑选一个元素
random.choice(range(10))
random.choice([0,1,2,3,4,5,6,7,8,9])
list = [0,1,2,3,4,5,6,7,8,9]
random.choice(list)
random.shuffle(list) 就地打乱列表元素
list = [0,1,2,3,4,5,6,7,8,9]
random.shuffle(list)
list
[2, 4, 7, 0, 3, 9, 8, 6, 1, 5]
sample(population,k) 从样本空间或总体(序列或集合类型)中随机取出k个不同元素,返回一个新的列表
random.sample([0,1,2,3,4,5,6,7,8,9],2)
[5, 4]
random.sample([1,1,1,1],2)
[1, 1]
元组
tuple,有序的元素组成的集合,使用小括号()表示
元组是不可变的对象
元组的定义
tuple() #空元组
t = tuple()
t = () t = tuple(range(,,))
t = (,,,,,) t = (,) #一个元素的元组定义,必须有逗号 t = (,)*
t = (,,)*
元组通过索引访问
tuple[index] 正负索引不可以超界,否则报异常IndexError
t = (,,,,) t[-] t[]
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input--d806090743c9> in <module>
----> t[] IndexError: tuple index out of range
元组不可改变,不支持元素赋值
t[-] =
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input--748d3b852e35> in <module>
----> t[-] = TypeError: 'tuple' object does not support item assignment
元组中的列表可以改变
t = (,,,[,,],) t[-][] =
t
(, , , [, , ], )
t = ([,],[,])*
t
([, ], [, ], [, ], [, ], [, ], [, ]) t[][] =
t
([, ], [, ], [, ], [, ], [, ], [, ])
元组查询
index(value,start,stop) #通过元素值value,从指定区间查找元组内的元素是否匹配,匹配第一个就立即返回索引,匹配不到报异常ValueError,时间复杂度O(n)
t = (,,,,)
t.index(,,)
count(value) #返回元组中元素值value匹配次数,时间复杂度O(n)
t = (,,,,)
t.count()
len(tuple) #返回元素个数,时间复杂度O(1)
t = (,,,,)
len(t)
命名元组
namedtuple(typename,field_names,verbose=False,rename=False)
定义一个元组的子类,并定义了字段
field_names可以是空白符或者逗号分割的字段的字符串,可以是字段的列表
from collections import namedtuple
# import collections
# collections.namedtuple() #两种导入方法
point = namedtuple('Point',['x','y'])
point
__main__.Point
定义2个学生
from collections import namedtuple
point = namedtuple('student',['name','age']) #多种写法
# point = namedtuple('student','name,age')
# point = namedtuple('student','name age')
tom = point('tom',)
tom
student(name='tom', age=)
jerry = point('jerry',)
jerry
student(name='jerry', age=)
Python元组与字符串操作(9)——随机数、元组、命名元组的更多相关文章
- Python中的字符串操作总结(Python3.6.1版本)
Python中的字符串操作(Python3.6.1版本) (1)切片操作: str1="hello world!" str1[1:3] <=> 'el'(左闭右开:即是 ...
- python入门7 字符串操作
字符串操作 #coding:utf-8 #/usr/bin/python """ 2018-11-03 dinghanhua 字符串操作 ""&quo ...
- 一句python,一句R︱python中的字符串操作、中文乱码、NaN情况
一句python,一句R︱python中的字符串操作.中文乱码.NaN情况 先学了R,最近刚刚上手Python,所以想着将python和R结合起来互相对比来更好理解python.最好就是一句pytho ...
- 【Python自动化Excel】Python与pandas字符串操作
Python之所以能够成为流行的数据分析语言,有一部分原因在于其简洁易用的字符串处理能力. Python的字符串对象封装了很多开箱即用的内置方法,处理单个字符串时十分方便:对于Excel.csv等表格 ...
- python学习day3------列表、元组、字符串操作
一.列表 变量名后加中括号[],接下来介绍对列表进行查操作 #!/usr/bin/env python #-*- Coding:utf-8 -*- # Author:Eric.Shen test = ...
- Python3基础(2)模块、数据类型及运算、进制、列表、元组、字符串操作、字典
---------------个人学习笔记--------------- ----------------本文作者吴疆-------------- ------点击此处链接至博客园原文------ 1 ...
- [Python Study Notes]字符串操作
字符串操作 a.字符串格式化输出 name = "liu" print "i am %s " % name #输出: i am liu PS: 字符 ...
- (Python基础)字符串操作
以下是我在学习过程中用的一些常用字符串操作的相关列子和具体注释,感兴趣的可以自己动手试试看 #字符串操作 name = 'my name is keep' print(name.capitalize( ...
- Python元组与字符串操作(10)——冒泡法
冒泡法 属于交换排序,元素两两比较大小,交换位置,结果可升序或降序排列 nums = [2,5,1,6,7,9,8,3,4] for i in range(len(nums)): ##计数器0~8 f ...
随机推荐
- AtCoder - 2037 (dp)
题意 https://vjudge.net/problem/AtCoder-2037 选一些数使得和的平均值等于a,问方案数. 思路 设dp[i][j]为选i个数和为j的方案数,如果当前选了x,那么d ...
- 配置Ngnix1.15.11+php5.4出现502 Bad Gateway问题
今天在调试Ngnix1.15.11+php5.4网站时候,因为网站数据和并发过大,出现502 Bad Gateway问题,所以记下笔记. 只需要修改php-fpm.conf的request_termi ...
- 【香甜的黄油 Sweet Butter】
[香甜的黄油 Sweet Butter] 洛谷P1828 https://www.luogu.org/problemnew/show/P1828 JDOJ 1803 https://neooj.com ...
- Python thread (线程)
线程 (thread) 操作系统最小的调度单位,是一串指令的集合 程序一开始就有一个主线程,新启动的线程和主线程之间互不影响,主线程启动子线程之后就相互独立(子线程也可以启动线程),无论子线程是否执行 ...
- gradle初学可能遇到的问题
gradle的脚本文件名称必须是build.gradle,如果自学的时候随便起的名字测试.如:test.gradle,脚本执行的时候是找不到相对于的任务的.会报错
- PMP132种工具与技术
<PMBOK ® 指南>第六版中共包括 132 种工具与技术 <PMBOK ® 指南>使用了以下工具与技术分组:1.数据收集技术.用于从各种渠道收集数据与信息.共有9 种数据收 ...
- Dapper - 一款轻量级对象关系映射(ORM)组件,DotNet 下
Dapper - a simple object mapper for .Net Official Github clone: https://github.com/SamSaffron/dapper ...
- ASP.NET Core launchsettings.json 文件
ASP.NET Core launchsettings.json 文件 在本节中,我们将讨论在 ASP.NET Core 项目中launchsettings.json文件的重要性. launchset ...
- IIS错误:在唯一密钥属性“fileExtension”设置为“.json”时,无法添加类型为“mimeMap”的重复集合项
在用visual studio 打开一个asp.net mvc 项目时,ctrl+f5运行,发现页面无法加载图片.js.json文件. 按F12查看错误,发现500错误.打开报错的js文件,提示: I ...
- 2019年ASP.NET Core学习路线
- [先决条件] + C# + Entity Framework + ASP.NET Core + SQL 基础知识 - [通用开发技能] + 学习 GIT, 在 GitHub 中创建开源项目 + 掌 ...