小编The*_*iat的帖子

如何使用列表解析连接3个列表?

在python中,如何使用列表推导来连接3个列表?

有:

    list1 = [1,2,3,4]
    list2 = [5,6,7,8]
    list3 = [9,10,11,12]
Run Code Online (Sandbox Code Playgroud)

想:

    allList = [1,2,3,4,5,6,7,8,9,10,11,12]
Run Code Online (Sandbox Code Playgroud)

我尝试使用列表理解,但我还不是很擅长.这些是我尝试过的:

    allList = [n for n in list1 for n in list2 for n in list3 ]
Run Code Online (Sandbox Code Playgroud)

这是一个坏主意,显然并且产生了值(len1)*len(list2)*len(list3)值.哎呀.所以我尝试了这个:

    allList = [n for n in list1, list2, list3]
Run Code Online (Sandbox Code Playgroud)

但这给了我allList = [list1,list 2,list3](3个列表清单)

我知道你可以使用+运算符连接(如x = list1 + list2 + list3),但是你如何使用简单的列表理解呢?

这里有一个类似的问题:连接3个单词列表,但那是C#.

python list-comprehension list

6
推荐指数
2
解决办法
6973
查看次数

你能使dplyr :: mutate和dplyr :: lag默认=它自己的输入值吗?

这类似于这个dplyr滞后帖,这个dplyr变异延迟发布,但是这些都没有问这个关于默认为输入值的问题.我正在使用dplyr来改变一个新字段,该字段是另一个字段的滞后偏移量(我已转换为POSIXct).目标是,对于给定的ip,我想知道一些关于它在我的列表中显示的所有时间之间的增量的汇总统计数据.我也有大约1200万行.

数据看起来像这样(在变异之前)

ip             hour         snap
192.168.1.2    2017070700    0
192.168.1.2    2017070700   15
192.168.1.4    2017070700    0
192.168.1.4    2017070701   45
192.168.1.4    2017070702   30
192.168.1.7    2017070700   15
Run Code Online (Sandbox Code Playgroud)

'hour'是一个整数,但应该是一个时间戳.

'snap'是4个'快照'值之一,代表15分钟的增量.

这是data.frame创建代码:

test <- data.frame(ip=c("192.168.1.2","192.168.1.2","192.168.1.4","192.168.1.4","192.168.1.4","192.168.1.7"), hour=c(2017070700,2017070700,2017070700,2017070701,2017070702,2017070700), snap=c(0,15,0,45,30,15))
Run Code Online (Sandbox Code Playgroud)

每个ip有数百甚至数千个时间戳.下面的代码使用dplyr来

  • a)用前导0填充0',
  • b)将两个整数'date'字段连成一个字段,
  • c)将合并的整数'date'字段转换为POSIX日期,
  • d)通过ip组,
  • e)将一个滞后于旧时间戳的新列变为1,如果该值为NA,则返回原始值(这就是"没有工作的位置"),以及
  • f)改变一个新列,它取当前时间和前一个时间的差值(通过ip).

这些步骤参考每行末尾的注释.

timedelta <- test %>% 
  mutate(snap = formatC(snap, width=2, flag=0)) %>%                      # a) 
  mutate(fulldateint = paste(hour, snap, sep="")) %>%                    # b) 
  mutate(fulldate = as.POSIXct(strptime(fulldateint, "%Y%m%d%H%M"))) %>% # c) 
  group_by(ip) %>%                                                       # d) 
  mutate(shifted = dplyr::lag(fulldate, default=fulldate)) %>%           # …
Run Code Online (Sandbox Code Playgroud)

r lag dplyr mutate

3
推荐指数
1
解决办法
1599
查看次数

如何检查字符串列表中是否存在字符串,包括子字符串?

我编写了一个函数来检查列表中是否存在值,如果存在则返回True.它适用于完全匹配,但如果值存在于列表条目中的任何位置,我需要它返回True(例如,值<= listEntry,我认为.)这是我用于函数的代码:

def isValInLst(val,lst):
    """check to see if val is in lst.  If it doesn't NOT exist (i.e. != 0), 
    return True. Otherwise return false."""
    if lst.count(val) != 0:
        return True
    else:
        print 'val is '+str(val)
        return False
Run Code Online (Sandbox Code Playgroud)

如果不循环遍历整个字符串和/或使用RegEx(除非那些是最有效的),我应该如何以pythonic方式进行此操作?

这与另一个SO问题非常相似,但我需要检查列表中任何位置是否存在ENTIRE val字符串.返回匹配的索引/索引也很棒,但我确信Stackoverflow上的其他内容已经覆盖了.

python string list

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

没有交互式控制台,如何调试

作为一名自学成才的程序员,我学会了使用交互式控制台进行调试,该控制台在构建/运行脚本时将所有变量保存在内存中.但是,我注意到在IDE中进行调试的压倒性趋势(并且,我认为CLI +编辑器解决方案就此而言)是在一个地方构建脚本并提供单独的控制台"沙箱"类型区域,只有在您复制时才保留变量/粘贴你的代码.

如何在没有交互式控制台的情况下调试?任何人都可以列出一些可以帮助我成为更好的程序员/调试器的调试步骤吗?

目前,这是我所做的非常简化的版本:

  1. 写一些伪代码(有时候)
  2. 应该有效的编辑器中编写一些代码
  3. 运行/构建脚本
  4. 检查stdout是否有错误
  5. 如果没有错误,那么7.
  6. 如果出现错误,则在修复违规代码后返回2.
  7. 在控制台中键入变量名称以验证它们看起来像我预期的那样.
  8. 冲洗并重复,直到它按预期工作.

python debugging

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

为什么 R 不会在水平箱线图上过度绘制点,但会在垂直箱线图上过度绘制点?

我有 2 个箱线图,我还想在其中包含一个平均值点。看来,当您包含 Horizo​​ntal=TRUE 作为参数时,points() 函数不再在箱线图上绘制点。

这是我的数据:

fired <- c(34,37,37,38,41,42,43,44,44,45,45,45,46,48,49,53,53,54,54,55,56)
Run Code Online (Sandbox Code Playgroud)

对于垂直箱线图:

> boxplot(fired,
+             main = "Fired Boxplot",
+             col=(c("gold")))
> points(mean(fired), lwd=5, col="darkred", pch=22)
Run Code Online (Sandbox Code Playgroud)

红色方块表示平均值的垂直箱线图

但对于水平箱线图(相同的数据和函数,但一个参数发生变化):

> boxplot(fired,
+             horizontal=TRUE,
+             main = "Fired Boxplot",
+             col=(c("gold")))
> points(mean(fired), lwd=5, col="darkred", pch=22)
Run Code Online (Sandbox Code Playgroud)

没有意义: 在此输入图像描述

为什么它不绘制水平= TRUE 情况下的点?它只是轴上的一个值。

plot r mean boxplot

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

标签 统计

python ×3

list ×2

r ×2

boxplot ×1

debugging ×1

dplyr ×1

lag ×1

list-comprehension ×1

mean ×1

mutate ×1

plot ×1

string ×1