随机数

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. requests---requests发送json数据类型

    我们都知道post请求中的body有4种数据类型,今天我们来写一篇关于requests请求json这种数据类型. 数据类型 我们都知道post和get有个大的区别就是get没有body而post存在b ...

  2. golang中的接口

    CSDN找的一个网页,照着抄练一次. 差不多的使用场景都在了. package main import ( "fmt" ) type People interface { Retu ...

  3. golang数据结构和算法之StackArray数组堆栈

    用数组实现的堆栈, 另一种,是用链表实现的堆栈, 在各种不同的编程语言上, 实现都是类似的. StackArray.go package StackArray //基于数组实现的堆栈 const ar ...

  4. 1. git 基础

    参考文档: https://www.liaoxuefeng.com/wiki/896043488029600 https://git-scm.com/docs/git-fsck 一.介绍 Linus一 ...

  5. 剑指Offer-10.矩形覆盖(C++/Java)

    题目: 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形.请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 分析: 实际上还是一道斐波那契数列的应用,要填2*n的大矩形, ...

  6. 其它 用VB6创建ActiveX.dll

    1.打开VB6 2.选择 ActiveX DLL,点击打开 3.在窗口输入测试代码 Public Function addstr(str As String) As String addstr = & ...

  7. [LOJ 2721][UOJ 396][BZOJ 5418][NOI 2018]屠龙勇士

    [LOJ 2721][UOJ 396][BZOJ 5418][NOI 2018]屠龙勇士 题意 题面好啰嗦啊直接粘LOJ题面好了 小 D 最近在网上发现了一款小游戏.游戏的规则如下: 游戏的目标是按照 ...

  8. PyCharm2019.3.1专业版激活

    PyCharm2019.3.1专业版激活 Python的IDE非常多,但个人感觉PyCharm最好用.JetBrains 致力于为开发者打造最高效智能的开发工具,与2019.12.19带来新的版本20 ...

  9. 解惑:如何使用SecureCRT上传和下载文件、SecureFX乱码问题

    解惑:如何使用SecureCRT上传和下载文件.SecureFX乱码问题 一.前言 很多时候在windows平台上访问Linux系统的比较好用的工具之一就是SecureCRT了,下面介绍一下这个软件的 ...

  10. Azure EA (3) 使用Postman访问海外Azure Billing API

    <Windows Azure Platform 系列文章目录> 本文介绍的是海外版的Azure Global服务,因为跨境内境外网络,访问速度会比较慢 在开始使用Azure Billing ...