Python使用random.shuffle()随机打乱字典排序

示例.1

import random
from random import shuffle
x = [[i] for i in range(10)]
shuffle(x)
print(x)

运行结果:

[[1], [2], [5], [0], [7], [9], [3], [8], [4], [6]]
[[6], [0], [7], [1], [3], [9], [5], [2], [4], [8]]

示例.2

dicts = {
    "productCode": "xyd",
    "account": "phone",
    "appType": "ios",
    "channelCode": "AppStore",
    "event": "FORGET_PWD"
}

def random_dic(dicts):
    dict_key_ls = list(dicts.keys())
    random.shuffle(dict_key_ls)
    new_dic = {}
    for key in dict_key_ls:
        new_dic[key] = dicts.get(key)
    return new_dic
 print(random_dic(dicts))

运行结果:

{'channelCode': 'AppStore', 'productCode': 'xyd', 'appType': 'ios', 'event': 'FORGET_PWD', 'account': 'phone'}
{'event': 'FORGET_PWD', 'account': 'phone', 'productCode': 'xyd', 'appType': 'ios', 'channelCode': 'AppStore'}

PS:random.shuffle()打乱列表元素顺序

有时候,我们需要将列表中的元素随机打乱顺序,其实只需要使用random库提供的shuffle方法即可,不需要自己额外编写函数。

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import random

if __name__ == '__main__':
    a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    # 使用shuffle方法打乱a列表的顺序,无返回值
    random.shuffle(a)
    print(a)

输出:

[9, 5, 2, 8, 6, 7, 1, 10, 4, 3]
Process finished with exit code 0

注意,shuffle方法没有返回值,不会生成新的列表,只是将原列表的顺序随机打乱。

到此这篇关于Python使用random.shuffle()随机打乱字典排序的文章就介绍到这了,更多相关Python random.shuffle()打乱字典排序内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python使用random.shuffle()打乱列表顺序的方法

    Python的random.shuffle()函数可以用来乱序序列,它是在序列的本身打乱,而不是新生成一个序列. 示例: from random import shuffle x = [[i] for i in range(10)] shuffle(x) shuffle()返回的是None,列表x的顺序被打乱. 以上这篇Python使用random.shuffle()打乱列表顺序的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • 详解Python中打乱列表顺序random.shuffle()的使用方法

    之前自己一直使用random中 randint生成随机数以及使用for将列表中的数据遍历一次. 现在有个需求需要将列表的次序打乱,或者也可以这样理解: [需求]将一个容器中的数据每次随机逐个遍历一遍. random.shuffle()方法提供了完美的解决方案. 不会生成新的列表,只是将原列表的次序打乱 # shuffle()使用样例 import random x = [i for i in range(10)] print(x) random.shuffle(x) print(x) 源码及注释

  • Python使用random.shuffle()随机打乱字典排序

    示例.1 import random from random import shuffle x = [[i] for i in range(10)] shuffle(x) print(x) 运行结果: [[1], [2], [5], [0], [7], [9], [3], [8], [4], [6]][[6], [0], [7], [1], [3], [9], [5], [2], [4], [8]] 示例.2 dicts = { "productCode": "xyd&quo

  • Python Pandas 如何shuffle(打乱)数据

    在Python里面,使用Pandas里面的DataFrame来存放数据的时候想要把数据集进行shuffle会许多的方法,本文介绍两种比较常用而且简单的方法. 应用情景: 我们有下面以个DataFrame 我们可以看到BuyInter的数值是按照0,-1,-1,2,2,2,3,3,3,3这样排列的,我们希望不保持这个次序,但是同时列属性又不能改变,即如下效果: 实现方法: 最简单的方法就是采用pandas中自带的 sample这个方法. 假设df是这个DataFrame df.sample(fra

  • python爬虫之自制英汉字典

    最近在微信公众号中看到有人用Python做了一个爬虫,可以将输入的英语单词翻译成中文,或者把中文词语翻译成英语单词.笔者看到了,觉得还蛮有意思的,因此,决定自己也写一个. 首先我们的爬虫要能将英语单词翻译成中文,因此,我们就需要一个网站帮助我们做这件事情.于是,我们选定有道词典,网址为: http://dict.youdao.com/ .在该网页中我们输入单词nice,就会出来这个单词的意思,如下图: 针对上述过程,对于熟悉爬虫的读者来说,是不难完成将输入的单词的中文意思从网页中提取出来的.笔者

  • python的random模块及加权随机算法的python实现方法

    random是用于生成随机数的,我们可以利用它随机生成数字或者选择字符串. •random.seed(x)改变随机数生成器的种子seed. 一般不必特别去设定seed,Python会自动选择seed. •random.random()    用于生成一个随机浮点数n,0 <= n < 1 •random.uniform(a,b)    用于生成一个指定范围内的随机浮点数,生成的随机整数a<=n<=b; •random.randint(a,b)    用于生成一个指定范围内的整数,a

  • Python随机函数random随机获取数字、字符串、列表等使用详解

    在python中用于生成随机数的模块是random,在使用前需要import, 下面看下它的用法. Python随机生成一个浮点数 random.random random.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0 注意: 以下代码在Python3.5下测试通过, python2版本可稍加修改 描述 random() 方法返回随机生成的一个实数,它在(0,1)范围内. 语法 以下是 random() 方法的语法: import random random.ra

  • python字典排序实例详解

    本文实例分析了python字典排序的方法.分享给大家供大家参考.具体如下: 1. 准备知识: 在python里,字典dictionary是内置的数据类型,是个无序的存储结构,每一元素是key-value对: 如:dict = {'username':'password','database':'master'},其中'username'和'database'是key,而'password'和'master'是value,可以通过d[key]获得对应值value的引用,但是不能通过value得到k

  • numpy.random.shuffle打乱顺序函数的实现

    numpy.random.shuffle 在做将caffe模型和预训练的参数转化为tensorflow的模型和预训练的参数,以便微调,遇到如下函数: def gen_data(source): while True: indices = range(len(source.images)) # indices = the number of images in the source data set random.shuffle(indices) for i in indices: image =

  • python 随机打乱 图片和对应的标签方法

    如下所示: # -*- coding: utf-8 -*- import os import numpy as np import pandas as pd import h5py import pylab import matplotlib.pyplot as plt trainpath = str('C:/Users/49691/Desktop/数据集/train/') testpath = str('C:/Users/49691/Desktop/数据集/test/') n_tr = len

随机推荐