标签: data-conversion

数组到元组转换python

我有一个看起来像这样的数组

   [1,2,3,4,5]
Run Code Online (Sandbox Code Playgroud)

我想要一个看起来像这样的元组列表:

[(1,2),(2,3),(3,4),(4,5)]
Run Code Online (Sandbox Code Playgroud)

在python中最方便的方法是什么?

谢谢!

python arrays tuples data-conversion

0
推荐指数
1
解决办法
688
查看次数

循环整数范围时,将表示月数的整数转换为年数和月数

我正在使用 for 循环来显示数字 1-60:

for ($i = 0; $i <= 60; $i++)
Run Code Online (Sandbox Code Playgroud)

在循环中,我希望能够显示年数和月数。例如:

1 month
2 months
3 month
...
1 year
1 year 1 month
1 year 2 month
Run Code Online (Sandbox Code Playgroud)

等等...

我试过这个:

if (!is_float($i / 12)) {
    $years = $i/12;
} else {
    $years = 'no';
}
Run Code Online (Sandbox Code Playgroud)

这显示了 12 个月的 1、24 个月的 2,但不显示中间的时间。

php time data-conversion division modulo

0
推荐指数
1
解决办法
4119
查看次数

Python 将整数转换为 16 字节字节

我正在尝试在我的代码中使用 AES-CTR-128。我使用Python 2.7并利用该cryptography模块进行加密。

我需要设置特定的计数器值,例如 counter_iv = 112。当我尝试时

import os
from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
from cryptography.hazmat.backends import default_backend
backend = default_backend()
key = os.urandom(32)
counter_iv = 112
cipher = Cipher(algorithms.AES(key), modes.CTR(counter_iv), backend=backend)
encryptor = cipher.encryptor()
ciphertext = encryptor.update(b"a secret message") + encryptor.finalize()
Run Code Online (Sandbox Code Playgroud)

这给了我一条错误消息:

Traceback (most recent call last):
File "aestest.py", line 14, in <module>
  cipher = Cipher(algorithms.AES(key), modes.CTR(counter_iv), backend=backend)
File "/usr/local/lib/python2.7/dist-packages/cryptography/hazmat/primitives/ciphers/modes.py", line 139, in __init__
  raise TypeError("nonce must be bytes")
TypeError: nonce must be bytes
Run Code Online (Sandbox Code Playgroud)

我认为它告诉我 counter_iv …

python cryptography type-conversion data-conversion

0
推荐指数
1
解决办法
2857
查看次数

如何将JSON字符串转换为PHP对象或数组创建*代码*

首先:这是一个完全不同的问题- 如何将JSON字符串转换为数组

我的问题...


我有分配给php变量的有效JSON字符串$json

我知道我可以在运行时将json_decode($json, true);其解析为php数组,但是我想超越一步,将其转换为可重用的php数组代码字符串,可以将其简单地复制并粘贴到php脚本中,例如$array = 'php array code here'

对于那些不可避免地会问“为什么?”的人,例如:

复制API文档中的示例JSON端点参数,然后快速转换为php数组字符串代码,以粘贴到测试脚本中,作为发出POST请求的有效测试参数


我知道我可以这样做:

$json = '
  [
    {
      "ID": "1",
      "Name": "Test One"
    },
    {
      "ID": "2",
      "Name": "Test Two"
    }
  ]';

echo '<pre>';
echo '$phpArray = ' . print_r(json_decode($json));
echo '</pre>';
exit;
Run Code Online (Sandbox Code Playgroud)

让你靠近...

$phpArray = Array
(
    [0] => stdClass Object
        (
            [ID] => 1
            [Name] => Test One
        )

    [1] => stdClass Object
        (
            [ID] => 2
            [Name] => Test Two …
Run Code Online (Sandbox Code Playgroud)

php arrays json object data-conversion

0
推荐指数
1
解决办法
464
查看次数

如何将 interface {} 转换为 struct

我一直在寻找如何将接口转换为结构,但我不知道我怎么做不到。

我会尽力解释我的问题。

type Result struct {
    Http_code int
    Http_msg  string
    Response  interface{}}
Run Code Online (Sandbox Code Playgroud)

该结构由向服务器发出 HTTP 请求的函数返回,另一方面,我有不同类型的结构来包装响应。

这是我想要转换接口的结构。

type ResHealth struct {
    Type       string
    Get_health struct {
       Healthy bool
 }}    
Run Code Online (Sandbox Code Playgroud)

我的问题是,当我尝试做出断言时,我总是遇到段冲突或程序无法编译。

工作流程是:

package test

type Result struct {
    Http_code int
    Http_msg  string
    Response  interface{}
}

type ResHealth struct {
    Type       string
    Get_health struct {
        Healthy bool
    }
}
func Do() Result {
  var http_response Result
  var health ResHealth
  +++do something+++
  http_response.Response = health
  return http_response
}

package Test2

aux := post.Do()
aux.Response.(ResHealth) …
Run Code Online (Sandbox Code Playgroud)

struct casting type-conversion data-conversion go

0
推荐指数
1
解决办法
2万
查看次数

将 Int[] 数组向下转换为 Byte[] 数组

有没有一种简单的方法将整数数组向下转换为字节数组?
本质上,我想做以下事情(这不能按原样工作):

int[] myIntArray = new int[20];
byte[] byteArray = (byte[])myInArray;
Run Code Online (Sandbox Code Playgroud)

这样做的原因是在我的应用程序中 myIntArray 实际上是一个 byte[],但被声明为 int[]。这意味着只有 myIntArray 中的最低有效字节是有意义的。

c# arrays data-conversion

0
推荐指数
1
解决办法
976
查看次数

你如何将一个整数转换成它的 CONDENSED 二进制等价物,例如 MySQL 中的 BINARY(3)

我正在执行散列操作,我需要一致、准确、高效地附加原始字节等。
我不能乱用 ASCII 编码的数字字符串,我只需要获取原始字节。

MySQL 的转换函数非常混乱,并且不会产生对像我这样的 SQL Server 人员来说显而易见的结果。

例如,BINARY 123456生成 6 个字符的 ASCII 编码字符串,而不是看似明显的BINARY ( 3 )字符串00000001 11100010 01000000aka0x01E240

到目前为止,我可以获得正确转换的唯一方法是分配一个十六进制文字 - 这在运行时显然是不切实际的。

SET @int_value = 123456 ;   -- Decimal value

SET @hex_value = 0x01E240 ; -- The same value, in hexadecimal,
                            -- 6 hex digits = 3 bytes

SELECT LENGTH ( BINARY @int_value ) , LENGTH ( BINARY @hex_value ) , LENGTH ( BINARY HEX ( @int_value ) ) ;
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

那么在这个例子中,我如何将一个整数值(例如DECLARE …

mysql sql binary type-conversion data-conversion

0
推荐指数
1
解决办法
414
查看次数

在Java中将double转换为无符号整数

我正在尝试在 Java 中将 double 转换为 unsigned int。

使用 unsigned int 我的意思是从 0 到 4294967295 的范围。
int用作载体 - 它可以转换为带有Integer.toUnsignedString.

我不在乎我会得到什么结果

  • 双是NaN
  • 双是Inf-Inf
  • 双精度超出范围:< 0> 4294967295

只要我得到任何结果。

简单的演员表不起作用:

(int) 4294967295d == 2147483647
(int) 2147483648d == 2147483647
Run Code Online (Sandbox Code Playgroud)

所以有问题的范围是2147483648d- 4294967295d

有没有一种快速的方法可以正确覆盖该范围?

tl;dr:在 CI 中会使用(unsigned int) dblValue- 我会在 Java 中使用什么?

java floating-point data-conversion unsigned-integer

0
推荐指数
1
解决办法
156
查看次数

从 float 到 int 的精确转换

我想将 float 值转换为 int 值,或者如果此转换不准确,则抛出异常。

我发现了以下建议:使用Math.round来转换,然后使用==来检查这些值是否相等。如果它们相等,则转换是精确的,否则不是。

但我发现了一个不起作用的例子。下面是演示此示例的代码:

        String s = "2147483648";

        float f = Float.parseFloat(s);
        System.out.printf("f=%f\n", f);

        int i = Math.round(f);
        System.out.printf("i=%d\n", i);

        System.out.printf("(f == i)=%s\n", (f == i));
Run Code Online (Sandbox Code Playgroud)

它输出:

f=2147483648.000000
i=2147483647
(f == i)=true
Run Code Online (Sandbox Code Playgroud)

我知道 2147483648 不适合整数范围,但我很惊讶==这些值返回 true。有更好的方法来比较 float 和 int 吗?我想可以将这两个值都转换为字符串,但对于这样一个原始函数来说,这会非常慢。

java data-conversion

0
推荐指数
1
解决办法
461
查看次数

将 false/true 转换为 -1/+1 的无分支方法?

进行以下映射的无分支方式是什么?

true -> +1
false -> -1
Run Code Online (Sandbox Code Playgroud)

一个简单的方法是,if b then 1 else -1但我正在寻找一种避免分支的方法,即如果。

如果相关,我正在使用 Python。

python data-conversion

-1
推荐指数
2
解决办法
596
查看次数