随机数

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)——随机数、元组、命名元组的更多相关文章

  1. Python中的字符串操作总结(Python3.6.1版本)

    Python中的字符串操作(Python3.6.1版本) (1)切片操作: str1="hello world!" str1[1:3] <=> 'el'(左闭右开:即是 ...

  2. python入门7 字符串操作

    字符串操作 #coding:utf-8 #/usr/bin/python """ 2018-11-03 dinghanhua 字符串操作 ""&quo ...

  3. 一句python,一句R︱python中的字符串操作、中文乱码、NaN情况

    一句python,一句R︱python中的字符串操作.中文乱码.NaN情况 先学了R,最近刚刚上手Python,所以想着将python和R结合起来互相对比来更好理解python.最好就是一句pytho ...

  4. 【Python自动化Excel】Python与pandas字符串操作

    Python之所以能够成为流行的数据分析语言,有一部分原因在于其简洁易用的字符串处理能力. Python的字符串对象封装了很多开箱即用的内置方法,处理单个字符串时十分方便:对于Excel.csv等表格 ...

  5. python学习day3------列表、元组、字符串操作

    一.列表 变量名后加中括号[],接下来介绍对列表进行查操作 #!/usr/bin/env python #-*- Coding:utf-8 -*- # Author:Eric.Shen test = ...

  6. Python3基础(2)模块、数据类型及运算、进制、列表、元组、字符串操作、字典

    ---------------个人学习笔记--------------- ----------------本文作者吴疆-------------- ------点击此处链接至博客园原文------ 1 ...

  7. [Python Study Notes]字符串操作

    字符串操作 a.字符串格式化输出 name = "liu" print "i am %s " % name     #输出: i am liu   PS: 字符 ...

  8. (Python基础)字符串操作

    以下是我在学习过程中用的一些常用字符串操作的相关列子和具体注释,感兴趣的可以自己动手试试看 #字符串操作 name = 'my name is keep' print(name.capitalize( ...

  9. Python元组与字符串操作(10)——冒泡法

    冒泡法 属于交换排序,元素两两比较大小,交换位置,结果可升序或降序排列 nums = [2,5,1,6,7,9,8,3,4] for i in range(len(nums)): ##计数器0~8 f ...

随机推荐

  1. Python xlwt模块写Excel问题集合

    1.数字转换成汉字 数据库查询返回结果为多元组,在写入Excel需要判断,数据库查询结果是否为数字,为数字的话需要将其转换成对应的汉字,此时元组不可修改,所以需要将返回结果修改成列表.实现可以在数据库 ...

  2. Vue介绍(一)

    官网:https://cn.vuejs.org/ Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用.V ...

  3. KPConv针对Modelnet40的分类

    1. 训练样本airplane_0001.txt的可视化: 飞机尺度: 物体类别与对应标签: 2. 对训练样本进行降采样: 体素法降采样,降采样的网络大小设置为0.02m.在pycharm下面的Con ...

  4. LG4556 [Vani有约会]雨天的尾巴 动态开点线段树+线段树合并

    问题描述 LG4556 题解 对于每一个结点,建立一棵动态开点线段树. 然后自低向上合并线段树. 同时维护整个值域的最大值和最大值位置. \(\mathrm{Code}\) #include<b ...

  5. SQL Server 创建 修改 删除数据表

    1. 图形界面方式操作数据表 (1)创建和修改数据表 列名中如果有两个以上单词时,最好用下划线连接,否则可能会给将来的查询维护带来不便.我们公司美国佬做的数据库就很烦,所有列名都有空格,一旦忘记用方括 ...

  6. Codeforces Round #553 (Div. 2) E 贡献

    https://codeforces.com/contest/1151/problem/E 题意 一条长n的链,每个点上有值\(a[i]\),定义\(f(l,r)\)为该区间的\(值\)所代表的点留下 ...

  7. iOS Workflow 分享 - Scan QR Code

    很多时候我们无意识地用微信扫描一个 QR Code,然后无论打开的是什么我们用就是了.我经常会好奇到底 QR Code 编码的是什么信息,到底是一个 ID 呢,还是一个 URL(可能是 deeplin ...

  8. Debug 路漫漫-14:Python: AttributeError: module 'tensorflow' has no attribute 'sub'

    在调试 <Neural Factorization Machines for Sparse Predictive Analytics>论文的源码(https://github.com/he ...

  9. python-3-条件判断练习题

    前言 我们在前面两章学习了基础数据类型与条件判断语句,今天我们来做下练习题.如果你有不一样的解题思路在评论区亮出你的宝剑!!! 一.习题如下: 1.使用 while 循环输出 1 2 3 4 5 6 ...

  10. sitecore 如何创建一个渠道分类

    您可以通过渠道跟踪联系人与您的品牌的所有互动.您可以将渠道与广告系列活动相关联,以便跟踪联系人与您的品牌互动的方式.通过比较各个渠道的目标转化率,您可以了解哪些渠道可以带来更好的联系参与度.您可以在体 ...