python - 相当于R中Python对字符串的综合列表操作

标签 python r string list-comprehension

我想对 R 中的字符列表执行操作,如下所述:

  1. 仅保留“-”之后的内容
  2. 然后仅保留剩余部分的前四个字符(如果长度小于四,则用“J”补全)
  3. 全部大写

Python 示例

lt = ['LTA-Yokudo', 'LTA-Luo', 'LTA-Kawasaki']
[str(x).split('-')[1][:4].upper().ljust(4, 'J') for x in lt]

预期结果

['YOKU', 'LUOJ', 'KAWA'] # in Python
c('YOKU', 'LUOJ', 'KAWA') # in R

请注意,列表中的字符串将始终包含字符“-”。

在 R 中这样做的最佳解决方案是什么?
谢谢

最佳答案

基本 R 方法:

> x <- c('LTA-Yokudo', 'LTA-Luo', 'LTA-Kawasaki')
> x1 <- toupper(substr(x,5,8))
> ifelse(nchar(x1) == 3,paste0(x1,"J"),x1)
[1] "YOKU" "LUOJ" "KAWA"

关于python - 相当于R中Python对字符串的综合列表操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54354554/

相关文章:

r - 我如何在 R 中的 mutate(across...) 上指定新变异的名称

c# - 为什么我可以将空条件运算符应用于硬编码字符串?

用于处理多个域的 Python Web 框架?

linux系统上的python-shell缩进错误

r - 如何按行创建 R 数据框

r - 将 R 代码 "Cannot coerce type ' 环境执行到 'character' 类型的向量时出错“

javascript - 比较字符串并得到最终差异

c# - 剪断这个长字符串的最佳方法

python Selenium - 无法获取 Facebook 表格内容

python - python的pickle文件是跨平台的吗?