library(tidyverse)
dr4.new <- tibble(
days1 = c(NA, 1, 4, NA, 6, 7, 10),
days2 = c(2, 8, NA, 3, 6, 1, 7),
days3 = c(9, NA, NA, NA, 10, 3, 9),
days4 = c(6, 3, 1, 2, 5, 8, NA)
)
dr4.new %>%
filter(!is.na(days1)) %>%
pull(days1)
# [1] 1 4 6 7 10
输出为s="String"
print(sorted(s,key=lambda x:x.upper()))
。
但是我似乎不明白发生了什么。我想对iterable进行排序,以优先使用小写字母,最后使用大写字母。这样输出为['g', 'i', 'n', 'r', 'S', 't']
。
答案 0 :(得分:1)
您可以使键函数返回要作为订单基础的项目的元组:
sorted(s, key=lambda x: (x.isupper(), x))
答案 1 :(得分:1)
您还可以使用字符串模块
from string import ascii_letters
print(sorted('String', key=lambda x: ascii_letters.index(x)))
#prints ['g', 'i', 'n', 'r', 't', 'S']