我需要从给定列表中选择一些元素,知道它们的索引.假设我想创建一个新列表,其中包含索引为1,2,5的元素,来自给定列表[-2,1,5,3,8,5,6].我做的是:
a = [-2,1,5,3,8,5,6]
b = [1,2,5]
c = [ a[i] for i in b]
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法呢?像c = a [b]之类的东西?
我发现自己反复编写相同的代码块:
def stringInList(str, list):
retVal = False
for item in list:
if str in item:
retVal = True
return retVal
Run Code Online (Sandbox Code Playgroud)
有没有什么办法可以更快/更少的代码编写这个功能?我通常在if语句中使用它,如下所示:
if stringInList(str, list):
print 'string was found!'
Run Code Online (Sandbox Code Playgroud) 我在WinForm上有几个TextBox.当按下Enter键时,我希望焦点移动到下一个控件?每当文本框获得控制权时,它也会选择文本,以便任何编辑都将替换当前文本.
做这个的最好方式是什么?
假设我有以下列表
[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]
Run Code Online (Sandbox Code Playgroud)
我想找到某个长度的所有可能的子列表,其中它们不包含一个特定的数字并且不会丢失数字的顺序.
例如,所有可能的长度为6而没有12的子列表是:
[1,2,3,4,5,6]
[2,3,4,5,6,7]
[3,4,5,6,7,8]
[4,5,6,7,8,9]
[5,6,7,8,9,10]
[6,7,8,9,10,11]
[13,14,15,16,17,18]
Run Code Online (Sandbox Code Playgroud)
问题是,我想在一个非常大的列表中进行,我想要最快捷的方式.
用我的方法更新:
oldlist = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]
newlist = []
length = 6
exclude = 12
for i in oldlist:
if length+i>len(oldlist):
break
else:
mylist.append(oldlist[i:(i+length)]
for i in newlist:
if exclude in i:
newlist.remove(i)
Run Code Online (Sandbox Code Playgroud)
我知道这不是最好的方法,这就是为什么我需要一个更好的方法.
我只想知道如何在python中清除多处理队列,就像普通的python队列一样.例如:
from multiprocessing import Queue # multiprocessing queue
from Queue import Queue # normal queue
multi_q = Queue()
normal_q = Queue()
multi_q.clear() # or multi_q.queue.clear()
Run Code Online (Sandbox Code Playgroud)
'队列'对象没有属性'清除'
normal_q.queue.clear() # This is ok
Run Code Online (Sandbox Code Playgroud) 对于一个可能很愚蠢的问题道歉,但没有谷歌搜索或搜索我的查询可以让我到任何地方.
只是遇到root安装问题让我想知道为什么Python 2.7自然地设置在Windows的根目录中,当其他所有内容都在ProgramFiles中时?
我错过了一个简单的答案吗?
虽然我非常喜欢python,但是当我需要在同一行中获得多个整数输入时,我更喜欢C/C++.如果我使用python,我使用:
a = map(int, raw_input().split())
Run Code Online (Sandbox Code Playgroud)
这是唯一的方式还是有任何pythonic方式来做到这一点?考虑到时间,这会花费多少?
我正在尝试用C语言实现匈牙利语算法.
我有矩阵:
35 0 0 0
0 30 0 5
55 5 0 10
0 45 30 45
Run Code Online (Sandbox Code Playgroud)
而且我要达到我必须找到覆盖所有零的最小线数的阶段(尽可能多地进行分配).显然,通过检查,这是第1列和第3列以及第1行.
如果我按照上面的矩阵进行操作,我得到:
35 0' 0 0
0' 30 0 5
55 5 0' 10
0 45 30 45
Run Code Online (Sandbox Code Playgroud)
零素数是指定的零.然后,按照下面的维基百科说明,我标记第4行(未分配的零),第1列(带有未分配的零的col),然后是第2行(标记为col的行为零).
所以这意味着命中全零的最小线是:
+--------
|
+--------
|
Run Code Online (Sandbox Code Playgroud)
但这并没有达到零(2, 3).相关C代码:
for (i = 0; i < M->size; i++) {
for (j = 0; j < M->size; j++) {
if (M->values[i][j] == 0) {
if (assigned_cols[j] == 0) { …Run Code Online (Sandbox Code Playgroud) 我怎样才能转换日期格式"2013-03-15 05:14:51.327"来"2013-03-15 05:14",即去掉秒和毫秒.我认为机器人框架工作没有办法.如果有任何人在python中有这个解决方案,请告诉我.