可能重复:
在Python中,您可以连接如下所示的列表:
print([3,4,5]+[4,5])
它提供了这样的输出:
[3,4,5,4,5]
但是我要找的是一个类似的“减法”运算,所以做这样的事情:
print([3,4,5]-[4,5])
将输出以下内容:
[3]
但是,没有为列表定义减法运算符。我试过这个:
a = [3,4,5]
b = [4,5]
print(list(filter(lambda x : x not in b,a)))
这是可行的,但我不确定这是否是最好的方法。我还想保留原来的项目位置。
我正在尝试找出两个列表之间的区别。基本上,我想知道列表1中不在列表2中的所有内容。解释它的最好方法是用一个例子:
List1 = [a, a, b, c, d, e]
List2 = [a, b, c, d]
In this example, I would like a function that would return [a, e]
当我在python中使用difference函数时,它只返回"e“,而不是列表1中有一个额外的"a”。当我在两个列表之间简单地使用XOR时,它也只返回“e”。
假设我有这样一个Python列表:
a = [70,66,63,-1,-1,68,-1,70]
通过下面的代码,我可以得到非负一元素之间的索引差异列表(因为-1不会出现在列表的末尾):
res = [idx for idx, val in enumerate(a) if val != -1]
index_diff = [x - res[i - 1] for i, x in enumerate(res)][1:]
index_diff看起来是这样的:
[1, 1, 3, 2]
现在我想做一些调整,因为在63到68之间有2 -1,在68到70之间有1 -1,我想减去它们之间的-1的数目,所以目标应
如果我有列表:
a = [1, 2, 3, 4, 5]
b = [4, 5, 6, 7, 8]
c = a * b
应该会给我:
c = [4, 5]
和
c = a - b
应该会给我:
c = [1, 2, 3]
这对于Python是可用的吗?还是我必须自己编写?
对元组也是如此吗?我可能会使用列表,因为我将添加它们,但只是想知道。
我必须执行一个简单的函数,将两个列表的元素相减,然后使用TensorFlow fn_map函数将结果放入一个新的列表中。没有这个函数的代码运行得很好,但是当我使用fn_map修改它时,出现了以下错误: Exception has occurred: ValueError
in user code:
/home/imene/ESS/ess.py:359 sup *
for el1 in inputs[0]:
/home/imene/anaconda3/envs/master/lib/python3.6/site-packages/tensorflow/pyt
我想问一问,是否有可能在单行中处理一个以上的列表,并理解列表?我正在使用Python2.7。
下面是代码的样子:
n=[1,2,3,4,5,6,7]
m=[1,7]
c=[]
for x in m:
if x in n:
c.append(x)
n.pop(n.index(x))
print n
print c
产出如下:
[2,3,4,5,6]
[1,7]
现在,我想知道是否可以使用列表理解将代码(第5行到第8行)转换为一行?
我很感激你的建议。如果我的问题有重复,请告诉我。非常感谢。
我尝试在Python中执行以下数组减法: import numpy as np
from scipy.sparse import csr_matrix
a = np.array([[1, 2], [3, 4]])
b = a[:, None] - a[None, :]
sum_ = np.sum(b, axis=-1)
print(sum_) 上面的方法似乎是可行的。但是,如果我将上面的数组a更改为稀疏矩阵: a = csr_matrix(a) 如果正确执行上面的步骤,我会得到一个错误: IndexError: Index dimension must be <= 2 有什么办法解
我的维吉内尔密码程序全部归结为两个列表。一个是表示要加密/解密的消息的字符的ASCII号码的列表,另一个是将用于解密/加密消息的密钥的ASCII号码的列表。
对于加密:
encryption = [((x + y) % 26) + ord('A') if x < 128 else x for x, y in zip(msglist, keylist)]
对于解密:
encryption = [((x - y) % 26) + ord('A') if x < 128 else x for x, y in zip(msglist, keylist)]
如
我有一些代码,它遵循以下基本模式:
# matrices: list of matrices which represent approximations of orig
# orig: the original matrix
def gen_fxn(matrices, orig):
def H(param):
threshold(orig)
sum = 0
# iterate over all elements in all matrices to generate a sum from
# the elementwis
我有一个对象A,B,C,D的列表,我想创建一个矩阵, A B C D
A
B
C
D 而每个矩阵单元中的值是使用某种逻辑计算的(如(列A,行B)的条目为(A.val - B.Val) ) 我可以写一个函数来做这件事。但我有一种感觉,这可以用一种更容易、更好的方式来完成。 如何在python中轻松做到这一点?(可能使用numpy?)另外,我应该用什么搜索词来查找这样的操作?
我仍然习惯于使用python,并且想知道,如果我想要对不是文件的x的数量进行计数,我该如何更改这一行? teeth = [{"tooth_path": str(x)} for x in p if os.path.isfile(x)] 我仍然希望teeth返回它当前的状态,我只想要一个计数,其中有多少不是文件。
好了,我是Python的新手(这是我的第一个程序)。我正在试着做一个倒计时计时器,可以倒计时到任何给定的日期。我有一些(简单的)部分可以工作,我的下一个问题包括:我是否需要将给定的时间存储在一个列表中,然后解析它,并将年份、日期等存储在单独的变量中?在Python中,我是否可以将一个日期减去另一个日期,以获得剩余的时间?
将当前时间存储在变量中。
from datetime import datetime
current_time = (str(datetime.now()))
print("The current time is " + current_time)
将目标时间
我正在尝试构建一个python脚本,当给定一个罗马数字时,它会将它转换成一个整数值。
在迭代输入并试图将每个字母转换为一个与罗马数字相对应的变量时,我遇到了一个问题。
以下是代码:
I = 1
V = 5
X = 10
L = 50
C = 100
D = 500
M = 1000
# ask for user input
def numeral_value():
entry = input('Enter a Roman Numeral \n')
# if their input is only one character returns that cha
我是python的新手,我想迭代一个列表,其中可能包含范围并扩展它。
def ExpandList(c):
new_list = []
for i in c:
print(i)
if '-' in i:
low,high=i.split('-')[0],i.split('-')[-1]
if low !=high:
for j in range(low,high):
new_lis
我正在尝试用python3为一个数值数组做一些计算。 数组: c0 c1 c2 c3
r0 1 5 2 7
r1 3 9 4 6
r2 8 2 1 3 这里的"cx“和"rx”是列名和行名。 如果元素不在给定列列表中,我需要逐行计算每个元素的差异。 例如: given a column list [0, 2, 1] # they are column indices
which means that
for r0, we need to calculate the difference between the c0 and all ot