python random 随机获取列表中的n个元素_random随机选取多个元素_Saggitarxm的博客-程序员秘密

技术标签: random  python  choice  sample  

代码如下:

# -*- coding: utf-8 -*-
# 随机取列表,元祖,字符串中的n个元素

import json
import random


def main1(data, num):
    """
    实现从data中随机取num个元素,生成一个新的列表
    :param data: 列表、元组、字符串
    :param num: 要取出的元素个数
    :return: list
    """
    return random.sample(data, num)


def main2(data):
    """
    实现从data中随机取num个元素
    :param data: 列表、元组、字符串
    :return: list中的一个元素
    """
    return random.choice(data)


if __name__ == "__main__":
    str_data = "壹、贰、叁、肆、伍、陆、柒、捌、玖、拾、佰、仟"

    """列表"""
    list_data = str_data.split("、")
    # print 'list_data = ', json.dumps(list_data, ensure_ascii=False, indent=4)  # 格式化缩进4个字符
    print 'list_data = ', json.dumps(list_data, ensure_ascii=False)
    num = 2
    # 随机获取列表中的n个元素
    last_data1 = main1(list_data, num)
    # print '--- last_data1 = ', json.dumps(last_data1, ensure_ascii=False, indent=4)  # 格式化缩进4个字符
    print '--- last_data1 = ', json.dumps(last_data1, ensure_ascii=False)

    # 随机获取列表中的单个元素
    last_data2 = main2(list_data)
    print '--- last_data2 = ', json.dumps(last_data2, ensure_ascii=False)
    print '\n'

    """元组"""
    tuple_data = tuple(list_data)
    print 'tuple_data = ', json.dumps(tuple_data, ensure_ascii=False)

    # 随机获取列表中的n个元素
    last_data3 = main1(tuple_data, num)
    print '--- last_data3 = ', json.dumps(last_data3, ensure_ascii=False)

    # 随机获取列表中的单个元素
    last_data4 = main2(tuple_data)
    print '--- last_data4 = ', json.dumps(last_data4, ensure_ascii=False)
    print '\n'


    """字符串"""
    print 'str_data = ', json.dumps(str_data, ensure_ascii=False)

    # 随机获取列表中的n个元素
    last_data5 = main1(tuple_data, num)
    print '--- last_data5 = ', json.dumps(last_data5, ensure_ascii=False)

    # 随机获取列表中的单个元素
    last_data6 = main2(tuple_data)
    print '--- last_data6 = ', json.dumps(last_data6, ensure_ascii=False)



输出如下:

list_data =  ["壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖", "拾", "佰", "仟"]
--- last_data1 =  ["贰", "玖"]
--- last_data2 =  "仟"


tuple_data =  ["壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖", "拾", "佰", "仟"]
--- last_data3 =  ["壹", "伍"]
--- last_data4 =  "玖"


str_data =  "壹、贰、叁、肆、伍、陆、柒、捌、玖、拾、佰、仟"
--- last_data5 =  ["陆", "仟"]
--- last_data6 =  "柒"

如有不当之处,望斧正!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xuezhangjun0121/article/details/95629193

智能推荐

毕业旅行第一站武汉站_Februus_Dooley的博客-程序员秘密

[size=medium] 3月9日——3月13日,找寻实习之旅第一站——武汉。 很遗憾,本人首战便遭遇滑铁卢,痛定思痛,将这次的一些感触和经验教训总结一下,希望与诸君共勉。 [b][color=blue]经验教训[/color][/b] 1.[color=red]不可避重就轻,语言只是工具,数据结构和算法才是基础和重中之重[/color]...

Python学习手札(一)变量、运算符&数据类型 &位运算_爱学习的柏少的博客-程序员秘密

@[TOC]Python学习手札(一)1.变量、运算符&数据类型(1)注释单行注释用#表示单行注释#这是单行注释多行注释(区间注释)可以用三个单引号'''第一行注释第二行注释第三行注释'''也可以用三个双引号"""第一行注释第二行注释第三行注释"""(2)运算符算术运算符操作符名称+加-减*乘/除//整除%取余**幂代码举例:print(1 + 2) #3p

Vue Devtools下载安装_娜妹子辣辣妹子娜的博客-程序员秘密

Vue Devtools下载地址nhdogjmejiglipccpnnnanhbledajbpd.zip文件有效

如何用计算机进行机械制图,机械制图与机械CAD的有机结合的探究_知乎读书卡的博客-程序员秘密

摘 要:随着科技的不断进步,计算机技术的发展进入到各个行业中,逐步的改变着传统的方式,在机械设计中也不例外,计算机技术逐步的使用到机械工程制图中,对机械行业产生较大的影响,逐步在制图的过程中取代了原本的铅笔、直尺的方式,提升机械设计构图的便利性,保证构图的全面完整,提升构图质量。因此在管理中需要将CAD技术进行全面的使用,和传统的机械制图结合,进一步提升构图的质量,提升机械设计水平。本文主要从机械...

【np.eye实现one-hot编码】_np onehot_SinHao22的博客-程序员秘密

今天看代码时看到了别人用np.eye实现one-hot编码,以前不知道这种用法,觉得很实用,所以记录一下。

2018农行--软开_0914_h的博客-程序员秘密

1、cookie和session的区别:解答:session、cookie都是由服务器生成的;session保存在服务器端;cookie保存在本地终端的数据;服务器将cookie发给在本地浏览器,浏览器以k-v形式将数据保存到本地;session用来跟下次访问同一网站时携带的cookie进行对比;由于浏览器不安全,客户端增加了些限制确保cookie不会被恶意使用,同时不会占据太...

随便推点

RxJava源码分析之subscribeOn和observeOn_Alex_MaHao的博客-程序员秘密

RxJava源码分析之subscribeOn和observeOnRxJava的特色就是可以改变他的任务线程,可以很优雅的在子线程和主线程中切换,而切换用到的两个主要方法是subscribeOn()和observeOn().备注:因本人水平有限,以下分析只代表本人所见,如有不当,请见谅并指出。subscribeOn()和observeOn()的区别subscr

32-对称字符串_PzLu的博客-程序员秘密

问题描述:小草认为对称是一种美,她希望任何东西都是对称的,连字符串都不放过。这不,小草在沙盘上写了这样一些字符串:A1A1​:AA2A2​:ABAA3A3​:ABACABAA4A4​:ABACABADABACABA……对于给定的 NN,你能根据规律输出 ANAN​ 吗?输入格式仅有一个数:N(N≤20)N(N≤20)。输出格式一行字符串,表示字符

mac下安装Homebrew教程 碰壁的最终归宿_head is now at b1ef41c25 merge pull request #14889_果汁一半的博客-程序员秘密

#mac下镜像飞速安装Homebrew教程折腾一下午的结果 流程先走一遍Last login: Sun Jun 7 16:51:52 on ttys000luodemingdeMacBook-Pro:~ sevenusrbin/ruby−e“∗∗_usr_bin/ruby -e “**u​srb​in/ruby−e“∗∗(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)**”curl: (7)

css实现背景图片一张铺满屏幕_Curry·DK的博客-程序员秘密

background: url(.jpg) no-repeat center 0px;background-position: center 0;background-size: cover;这是三个属性,便可以实现想要的效果

2020年Java讲课笔记目录_howard2005的博客-程序员秘密

1、Java讲课笔记01:搭建Java开发环境2、Java讲课笔记02:Java集成开发环境3、Java讲课笔记03:Java基本语法

基恩士XG-XvisionEditor离线仿真_机器人自动化控制的博客-程序员秘密

打开需要仿真的程序,选中并单击鼠标右键,选择【XG-X Simulator】,进入离线仿真界面,在此可进行程序的查看及编写。

推荐文章

热门文章

相关标签