在 Python 中将字符串分配给 ID

2024-01-04

我正在使用 python 读取一个文本文件,其格式为每列中的值可以是数字或字符串。

当这些值是字符串时,我需要分配该字符串的唯一 ID(在同一列下的所有字符串中都是唯一的;如果同一字符串出现在同一列下的其他位置,则必须分配相同的 ID)。

什么是有效的方法?


使用带有默认值工厂的 defaultdict 来生成新的 id:

ids = collections.defaultdict(itertools.count().next)
ids['a']  # 0
ids['b']  # 1
ids['a']  # 0

当您在 defaultdict 中查找键时,如果它尚不存在,defaultdict 会调用用户提供的默认值工厂来获取该值并在返回之前存储它。

collections.count()创建一个从 0 开始计数的迭代器,所以collections.count().next是一个绑定方法,每当您调用它时都会生成一个新整数。

结合起来,这些工具会生成一个字典,每当您查找以前从未查找过的内容时,该字典都会返回一个新整数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Python 中将字符串分配给 ID 的相关文章

  • Python ImageTk.PhotoImage 使用 alpha 通道缓慢加载 png

    我编写了一个小程序来加载和显示图像 一切正常 直到我到达 示例中的 png 文件 shade png 显示这张小图片需要七七秒 PhotoImage 是否有错误或者我错过了一些 范围 这是我的示例代码 from PIL import Ima
  • numpy.linalg.inv() 是否给出了正确的矩阵逆?编辑:为什么 inv() 给出数值错误?

    我有一个矩阵形状 4000 4000 我想取逆矩阵 我对逆矩阵的直觉因如此大的矩阵而崩溃 起始矩阵的值大小为e 10 具有以下值 print matrix给出一个输出 2 19885119e 10 2 16462810e 10 2 1306
  • 在python中浏览ftp目录

    我正在尝试使用 ftplib 使用 Python 3 从 ftp 服务器下载多个文件夹 我有一个文件夹名称列表 它们都位于文件夹 root 中 问题是我不知道如何浏览它们 当我使用cwd我可以进入更深的目录 但是如何再次起来呢 我正在尝试得
  • Python - 在先前已在全局范围内查找的函数内重新分配名称

    为什么我在下面的第三个代码中出现错误 但在前两个代码中却没有出现错误 我使用的是 Python 3 6 0 Anaconda 4 3 1 64 位 Jupyter Code 1 c 100 def fib c 20 a c print a
  • 在OpenCV Python中编写4通道以上图像

    这对我来说是一个持续的挑战 我正在尝试使用 openCV 将两个 3 RGB 图像组合成一个 6 通道 TIFF 图像 到目前为止我的代码如下 import cv2 import numpy as np im1 cv2 imread im1
  • 如何消除 matplotlib 轴的相对偏移

    当我尝试对具有足够大数字的范围进行绘图时 我得到一个所有刻度都有相对偏移的轴 例如 plot 1000 1001 1002 1 2 3 我在横坐标轴上得到这些刻度 0 0 0 5 1 0 1 5 2 0 1e3 问题是如何删除 1e3并得到
  • 如何将点击侦听器添加到 Android/Java Textview 中的字符串中?

    我想要完成的是大多数 Twitter 应用程序中的标准操作 在文本视图中 文本字符串中的单词前面可能有 提及或 主题标签 并且它们实际上能够添加点击侦听器这个词启动了另一项活动 有谁知道这是如何实现的 下面我附上了一张示例照片 显示了我想要
  • Altair 条形图具有可变宽度的条形?

    我正在尝试在 Python 中使用 Altair 制作条形图 其中条形的宽度根据源数据帧列中的数据而变化 最终目标是获得如下所示的图表 条形的高度对应于每种能源技术的边际成本 在源数据框中以列形式给出 条形宽度对应于每种能源技术的容量 也以
  • 如何使用 Tkinter 创建等宽网格列?

    如何强制 Tkinter 应用程序窗口中的列宽度相等 tkdocs网站声明如下 每列的宽度 或每行的高度 取决于列或行中包含的小部件的宽度或高度 这意味着当绘制用户界面并将其划分为行和列时 您无需担心每列或行的宽度相等 或高度 大概 TkD
  • 如何在 PySide/PyQt 中制作一个位于屏幕中央的小部件?

    这段代码有效 但我想知道是否有更简单的方法 def center self qr self frameGeometry cp gui QDesktopWidget availableGeometry center qr moveCenter
  • Python:选择多个已安装模块版本之一

    在我的系统上 我多次安装了多个模块 举个例子 numpy 1 6 1安装在标准路径中 usr lib python2 7 dist packages 我有一个更新版本numpy 1 8 0安装于 local python lib pytho
  • python 中使用 scipy 截断正态分布

    我正在尝试使用截断正态分布scipy在Python3 我想做一些简单的事情 绘制以 0 5 为中心 范围从 0 到 1 的截断法线的 pdf 我有以下代码行 from scipy import truncnorm import matplo
  • Django:上传前调整图像大小

    我想调整图像大小 Pillow 在上传之前 我在下面编写了代码但不起作用 并得到错误 myapp list 处的属性错误 坚定的 请求方式 POST 请求网址 http 127 0 0 1 8000 myapp list http 127
  • VS Code Pylance 不突出显示变量和模块

    我正在使用带有 Python 和 Pylance 扩展的 VS Code 我遇到的问题是 Pylance 扩展没有对模块和数据框等内容进行语法突出显示 我希望顶部的模块为绿色 df 变量为蓝色 我正在使用默认的深色 颜色主题 这是我的 VS
  • Anaconda (Python) - Windows 10 上的 Cmder 集成

    我在 Windows 10 64 位上通过 Anaconda 让 Cmder 使用 Python 时遇到了一些麻烦 我让 Anaconda 工作得很好 测试过用 matplotlib 绘制一些东西 它与 Anaconda Prompt 一起
  • Django 1.6:如何在视图中访问静态文件

    我已经尝试过解决方案here https stackoverflow com questions 11721818 django get the static files url in view这对我不起作用 我正在为 Python 创建一
  • 使用 System.out.println 显示特殊字符

    我在将带有特殊字符的文本从网络服务发送或显示到数据库时遇到问题 在我的 Eclipse 上 我已将字符编码设置为 UTF 8 但它仍然不允许我显示字符 例如 像下面的代码一样简单的打印 String test System out prin
  • 如何使用 Python 3 在 OpenCV 3 上正确加载 cv2.KeyPoint 和描述符?

    有一天 我不得不恢复一个使用 OpenCV 3 和 Python 2 7 的旧项目 在此代码中 要加载 cv2 KeyPoint 我执行以下操作 import numpy as np import cPickle import cv2 ke
  • 如何在 PHP 中去除字符串中的所有空格? [复制]

    这个问题在这里已经有答案了 我怎么能够strip remove all spaces of a string in PHP 我有一个string like string this is my string 输出应该是 thisismystr
  • C++ 从文件中读取字符串

    我试图将字符串直接存储到一个文件中 以便稍后在 C 中读取 基本上 对于整个范围 我试图将带有字符串变量的对象数组存储在文件中 并且这些字符串变量将通过类似 object 的内容读取 0 字符串 然而 每次我尝试读取字符串变量时 系统都会给

随机推荐

  • 使用情节提要在 Xcode 6.1.1 中展开 Segue

    我一直在读到 unwind segue 在 Xcode 6 中存在 bug 我正在使用 Xcode 6 1 1 并且使用 swift 我使用导航控制器放置的 后退 按钮 因此我无法拖动到退出图标 此外 我也无法从 viewControlle
  • 来自加德纳的拼图

    我试图在 Prolog 中解决以下难题 编号为 0 9 的 10 个单元格刻有一个 10 位数字 每个单元格 例如 i 表示数字 i 在该数字中出现的总数 找到这个号码 答案是6210001000 这是我在 Prolog 中写的 但我被卡住
  • 在画布上挥动文字

    我怎样才能在画布元素上制作类似于上找到的文本this http www pageplugins com generators crazy text textwave php page EDIT Ben 忘记对你的问题无缘无故的反对票 并且
  • UWP - 在 NavigationViewItems 上设置 IsEnabled

    我有一个 UWP 应用程序NavigationView控制 导航项是通过设置创建的MenuItemsSource在 XAML 中转换为类型的对象集合NavigationViewElement
  • 将带有 VBA 宏的 Excel 图表复制并粘贴到 Word 中

    我知道我的问题可能听起来 微不足道 但我在任何地方都找不到解决方案 而且我已经筋疲力尽了 我正在编写一个宏来自动在 Word 中生成报告 在某个阶段 我需要插入一些图表 该图表位于 Excel 的图表工作表中 但没办法 这是我的代码 Sub
  • 如何使用 FTP 命令移动文件

    源文件的路径是 public html upload 64 SomeMusic mp3 我想将它移动到这条路径 public html archive 2011 05 64 SomeMusic mp3 我如何使用 FTP 命令执行此操作 在
  • WPF:选择时为文本框添加标签

    我想创建一个看起来像视觉工作室的简单设计器 具体来说 我希望我的项目具有与 VS 中相同的行为 当未选择它们时 会显示一个简单的标签 文本块 当它们被选择时 一个文本框可以让我编辑值 实现这一目标的最佳方法是什么 谢谢 为 TextBox
  • 如何在合并排序期间“暂停”以可视化 JS p5js

    我正在使用 p5 js 开发排序可视化工具 我需要知道是否可以减慢合并排序 以便可以更慢地绘制它 我目前正在尝试使用下面的睡眠功能来减慢它们的合并功能 但我得到 未捕获的类型错误 a slice 不是函数 我只是犯了一个愚蠢的错误 还是我错
  • 模板和 while 循环

    我正在制作一个简单的模板系统 无法将代码保留在 PHP 文件中并将其输出到 html 文件中 这很烦人 在模板中包含此内容不太好 h1 h1 p p 有什么方法可以将代码保留在 PHP 文件中吗 Thanks
  • 如何修改matplotlib-venn中的字体大小

    我有以下维恩图 from matplotlib import pyplot as plt from matplotlib venn import venn3 venn3 circles set1 set A B C D set2 set B
  • 已安装的 Python 模块 - Python 找不到它们

    这是一个初学者python安装问题 这是我第一次尝试安装和调用包 我有pip安装了 我尝试安装两个模块 numpy and pandas 在终端中 我运行了以下命令 sudo pip install numpy sudo pip insta
  • 我在哪里可以获得 delphi 或 python 的免费 G​​SM 库/组件?

    我在哪里可以获得好的免费 G SM 库Delphi or Python 我可以使用哪些库在我的应用程序上发送和接收短信 Gath 免费且开源AsyncPro http sourceforge net projects tpapro gt 不
  • 为离线Web应用程序存储图像数据(客户端存储数据库)

    我有一个使用 appcaching 的离线 Web 应用程序 我需要提供大约 10MB 20MB 的数据 它将保存 客户端 主要由 PNG 图像文件组成 操作如下 Web 应用程序下载并安装在 appcache 中 使用清单 Web 应用程
  • 如何使用Python将霍夫曼编码写入文件?

    我创建了一个 Python 脚本来使用霍夫曼算法压缩文本 假设我有以下字符串 string The quick brown fox jumps over the lazy dog 运行我的算法会返回以下 位 result 011111001
  • 四边形上的输出纹理不正确

    我正在尝试使用 freetype 在我的应用程序中显示文本 起初我认为这个内置函数 这对于用于绘制文本的库来说是很自然的 但只有一个显示符号的功能 然后我决定将这些字符一一放入纹理中 但我再次感到失望 所有指南一个纹理都使用单个图像 可能
  • React Native:无法构造变压器:错误:无法创建长度超过 0x1fffffe8 个字符的字符串

    包 json name project version 0 0 1 private true scripts android react native run android ios react native run ios start r
  • char*/字符串连接而不复制?

    我想在 C 或 C 中连接 2 个字符串 而不需要新的内存分配和复制 是否可以 可能的C代码 char str1 char malloc 100 char str2 char malloc 50 char str3 some code th
  • 如何使用PHP连接到as400

    我正在尝试使用以下代码将我的 AS400 与 V5R3 和 PHP 连接
  • 如何将打开的窗体定位在 C# Windows 窗体中的特定位置?

    The Location窗体中的属性设置为 0 0 属性窗口 但是 该表单不会在指定位置打开 我错过了什么吗 你需要设置StartPosition手动使表单将起始位置设置为中的值Location财产 public Form1 Initial
  • 在 Python 中将字符串分配给 ID

    我正在使用 python 读取一个文本文件 其格式为每列中的值可以是数字或字符串 当这些值是字符串时 我需要分配该字符串的唯一 ID 在同一列下的所有字符串中都是唯一的 如果同一字符串出现在同一列下的其他位置 则必须分配相同的 ID 什么是