Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 将字符串映射到唯一ID_String_Python 2.7_Unique - Fatal编程技术网

String 将字符串映射到唯一ID

String 将字符串映射到唯一ID,string,python-2.7,unique,String,Python 2.7,Unique,是否存在将字符串转换为唯一ID的python库? 例如,我把这种数据写在txt文件中 "name", "john doe" "age", "twenty two" "school","xxxx" "name", "sam x" "age", "twenty two" "school","yyyy" 我想要这样的输出 1,55 2,44 3,77 1,56 2,44 3,78 我不在乎数字的范围,但它必须是正数 有没有办法从任何给定的id检索原始字符串 谢谢,我不是Python开发人员,但听起

是否存在将字符串转换为唯一ID的python库? 例如,我把这种数据写在txt文件中

"name", "john doe"
"age", "twenty two"
"school","xxxx"
"name", "sam x"
"age", "twenty two"
"school","yyyy"
我想要这样的输出

1,55
2,44
3,77
1,56
2,44
3,78
我不在乎数字的范围,但它必须是正数

有没有办法从任何给定的id检索原始字符串


谢谢,

我不是Python开发人员,但听起来您需要一种可逆散列

因为您需要整数,所以您可以循环遍历字符串的每个字符,获取ASCII值,然后将它们连接起来。我认为,由于引导零需求,它必须仍然是一个字符串

您也可以尝试简单地为字母表中的每个字母分配一个两位数的值,然后使用该值。所以113615的“年龄”可能是11岁、36岁和15岁。然后你可以在两个字符的子字符串中解码。10-99对于小写和大写以及一些符号都足够了。您可以使用单个函数进行编码和解码,并快速检查传递的参数类型(整数或字符串)


请注意,Python可能有一种更优雅的方法来实现这一点,我只是在考虑在几乎任何语言中都能真正起作用的总体策略。

谢谢您的帮助。我认为这种方法可能无法提供唯一的ID。例如,如果我分配了(1代表a)和(2代表b),这种方法将为字符串ab提供3,为字符串ba提供3,这两个字符串是两个不同的字符串。如果使用双字符系统,它将为您提供唯一的字符串。ab是1011,ba是1110。但是,它们不是唯一的,因为相同的字符串将始终生成相同的整数。您不需要添加它们,而是连接它们。