answer("Yes").
answer("No").
answer("Variable = value").
receive(A) :- answer(A).
2 ?- answer(A).
A = [89, 101, 115]
Yes
Run Code Online (Sandbox Code Playgroud)
我想要A = "Yes"等等.我做错了什么?
我想从列表中提取一个项目并返回默认值(如果没有找到)(而不是通常的索引例外).与字典上的get(key,default)非常相似.在仔细阅读文档之后,感觉我仍然忽略了一个提供此功能的简单内置python解决方案.
这是我能想到的最快的:
def pluck(list_items, index, default=None):
return dict(zip(range(len(list_items)), list_items)).get(index, default)
s = [1, 2,]
pluck(s, 3, None)
Run Code Online (Sandbox Code Playgroud)
谢谢!
为什么在以下情况下list2不是[3,5]?
>>>list1=[3,5]
>>>list2=list1
>>>list1[0]=2
>>>list1
[2,5]
>>>list2
[2,5]
Run Code Online (Sandbox Code Playgroud)
但是当我在这里尝试它是[3,5]:
>>>list1=[3,5]
>>>list2=list1
>>>list1=[3,5,7]
>>>list2
[3,5]
Run Code Online (Sandbox Code Playgroud) from subprocess import call
try:
while True:
call (["raspivid -n -b 2666666.67 -t 5000 -o test.mp4"],shell=True)
call (["raspivid -n -b 2666666.67 -t 5000 -o test1.mp4"],shell=True)
except KeyboardInterrupt:
pass
Run Code Online (Sandbox Code Playgroud)
当我按任何按钮时,我打算让它打破循环.但是我尝试了许多方法来打破它们并且没有一个工作.
我有这样的数据(是的,这些元组保证有5个元素):
ts = ([('a','b','c','d','e'), ('v','w','x','y','z'),
('f','g','h','i','j'), ('a','foo','bar',1,2),
('f','g','baz',1,3), ('f','g','baz',3,4)])
Run Code Online (Sandbox Code Playgroud)
我正在尝试将其解析为嵌套字典结构,如下所示:
d = {
'a': {
'b': {
'c': [('d','e')]
},
'foo': {
'bar': [(1,2)]
}
},
'f': {
'g': {
'h': [('i', 'j')],
'baz': [(1,3), (3,4)]
}
},
'v': {
'w': {
'x': [('y', 'z')]
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止所拥有的; 它似乎工作正常:
>>> d = {}
>>> for t in ts:
... if t[0] not in d:
... d[t[0]] = {t[1]: {t[2]: [(t[3], t[4])]}}
... elif t[1] not in d[t[0]]: …Run Code Online (Sandbox Code Playgroud) 我有一个执行昂贵操作的功能,经常被调用; 但是,操作只需执行一次 - 其结果可以缓存.
我尝试制作一个无限的发电机,但我没有得到我预期的结果:
>>> def g():
... result = "foo"
... while True:
... yield result
...
>>> g()
<generator object g at 0x1093db230> # why didn't it give me "foo"?
Run Code Online (Sandbox Code Playgroud)
为什么不是g发电机?
>>> g
<function g at 0x1093de488>
Run Code Online (Sandbox Code Playgroud)
编辑:如果这种方法不起作用,这很好,但我需要的东西与常规函数完全相同,如下所示:
>>> [g() for x in range(3)]
["foo", "foo", "foo"]
Run Code Online (Sandbox Code Playgroud) res=0
num=int(input("Enter a positive integer:"))
while num>0:
res=res+(num % 10)
num=num//10
print (res)
Run Code Online (Sandbox Code Playgroud)
为什么输入3**631+29是有问题的?为什么可以eval解决这个问题?正如我所看到的,程序输出将显示"逐步"对输入整数中的数字进行求和,因此它3**631+29是不是整数而是字符串?但是为什么要eval参与?
我在下面写了这个简单的代码来比较Python和Fortran的速度.
import time
start = time.time()
x = 0
for i in range(1,1000000000):
x = x + i
x = 0
end = time.time()
print end - start
Run Code Online (Sandbox Code Playgroud)
我设置x = 0,因为在Fortran中溢出.当我通过Fortran运行代码时,它会在9秒内返回答案,但是当我通过Python运行代码时,Python会占用系统内存的所有24GB和程序崩溃.
有什么问题?
这看起来很简单,但我得到了错误 "Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
at reverse.main(reverse.java:28)"
我最初从用户那里获取输入来编写数组,然后我想向后打印数组.我知道还有其他方法可以做到这一点,但我主要想知道为什么这不起作用.逐行完成它是有道理的吗?
PS.如果这不是问题,有没有更好的方法呢?
import java.util.Scanner;
public class reverse {
/**
* @param args
*/
public static void main(String[] args) {
System.out.printf("Enter the number of values in array: ");
Scanner scanner = new Scanner(System.in);
int n;
n = scanner.nextInt();
double[] a1 = new double[n];
int i;
System.out.printf("Enter the value in the array: ");
for (i = 0; i < n; i++){
Scanner scanner2 = new Scanner(System.in);
a1[i] = scanner2.nextInt();
}
double j;
double …Run Code Online (Sandbox Code Playgroud) 我想合并两个具有大致相同行数的数据帧.但合并需要以特殊方式完成.
假设两个数据帧是A和B.并且Ai,Bi表示i各个数据帧的第一行.
然后我想要一个包含以下行的新数据帧:
A1
B1
A2
B2
...
Run Code Online (Sandbox Code Playgroud)
这是一个玩具示例:
A <- data.frame(col1 = paste("A", 1:5, sep = ""), col2 = rivers[1:5])
B <- data.frame(col1 = paste("B", 1:6, sep = ""), col2 = rivers[1:6])
Run Code Online (Sandbox Code Playgroud)
我想要一个新的数据帧C.
> C
col1 col2
1 A1 735
6 B1 735
2 A2 320
7 B2 320
...
Run Code Online (Sandbox Code Playgroud)
我如何在R中有效地做到这一点?请注意,两行之间没有空行,如此处所示.
def swap_name(name_list):
""" (list of str) -> NoneType
Modify name_list so that the first name and last name are swapped.
>>> name = ['Tommy', 'Jason']
>>> swap_name(name)
>>> name
['Jason', 'Tommy']
"""
# My Answer which is not complete and i don't know how to complete it or how to correct it. I tried in every way but it didn't work...I need your help
for i in range (len (name_list)):
name_list[i] = [name_list[1] , name_list[0]]
Run Code Online (Sandbox Code Playgroud) 我正在尝试在python 2.7中运行scrapy项目,但我遇到了这个问题.我有其他问题,但解决了他们sudo pip install ...我在谷歌查找但无法找到任何解决这个问题.
python ×9
python-2.7 ×3
arrays ×1
caching ×1
generator ×1
importerror ×1
java ×1
list ×1
logic ×1
prolog ×1
python-2.x ×1
python-3.x ×1
r ×1
raspberry-pi ×1
scrapy ×1
string ×1