我知道一种使用Python交织两个字符串的方法,但只有当它们的长度相等时才能工作:
u = 'Abcd'
l = 'Wxyz'
res = "".join(i + j for i, j in zip(u, l))
print(res)
这将给出正确的输出:AWbxcydz,但是如果字符串是u = 'Utkarsh'和l = 'Jain',则相同的方法不能给出正确的答案。有人能提出这样做的方法吗?
我想写一个一行程序来计算混淆/偶发矩阵M(两个维度都等于类的数量的方阵),它计算以长度n的两个向量表示的情况: Ytrue和Ypredicted。很明显,以下代码在使用python和numpy时不起作用:
error = N.array([error[x,y]+1 for x, y in zip(Ytrue,Ypredicted)]).reshape((n,n))
有什么建议可以创建一个单行矩阵混淆计算器吗?
我正在寻找一种很好的方法来zip几个迭代器,如果迭代器的长度不相等,就会引发异常。
在迭代器是列表或者有一个len方法的情况下,这个解决方案是干净而简单的:
def zip_equal(it1, it2):
if len(it1) != len(it2):
raise ValueError("Lengths of iterables are different")
return zip(it1, it2)
但是,如果it1和it2是生成器,则前面的函数会失败,因为长度未定义为TypeError: object of type 'gener
所以我试着把一个矩阵乘以一个向量。python不断抛出错误。下面是我正在尝试的代码:
def matmult(m, v):
rows = len(m)
w = [0]*rows
irange = range(len(v))
sum = 0
for j in range(rows):
r = m[j]
for i in irange:
sum += r[i]*v[i]
w[j],sum = sum,0
return w
它不是我的,但这是我在生气并删除它之前编写的代码。错误是: TypeErr
我的file.txt包含两行代码:
this is one
and my pen
输出应该类似于在单行中打印每行的每一列:
tahnids imsy opneen
如何在Python中打印此输出?
我尝试了下面的方法,但我总是在每行的交替字符之间跳转。我正在寻找一种通用的解决方案,无论是一行还是两行或更多行。
file=open('file.txt','r')
list1=[x.rstrip('\n') for x in file]
for i in list1:
n=len(i)
c=0
while c<n:
假设我在Python中有两个列表,我想并行遍历每个列表-例如,对两个列表使用元素1,对两个列表使用元素2……我知道我可以通过使用索引来做到这一点:
for listIndex in range(len(list1)):
doSomething(list1[listIndex])
doSomething(list2[listIndex])
但是,有没有一种更直观的方法,使用foreach循环呢?像for list1Value in list1, list2Value in list2这样的东西...?
我最近在Python中遇到了这种情况,但这是一个长期存在的问题,我很想知道您是否可
是否可以在python中同时执行多个循环。
类似(当然是语法错误):
for a,b in list_of_a,list_of_b:
//do some thing
同时,我是,而不是,意思是线程或进程意义。
我的意思是,它们在迭代过程中共享相同的索引或光标。
我能想到的是:
使用一个int变量作为共享游标,将它们放在元组列表中,并迭代元组列表。但是创建列表很费劲,
我只是想知道是否有一些内置的函数或更简单的语法来实现这一点。
我正在为CS类写一个程序,需要一些python 3编码的帮助。这是我当前编写的代码:
def main():
print() # blank line
phrase = input("Please enter a phrase: ")
wordlist = phrase.split()
print("Original text:",phrase)
for msg in wordlist:
print(msg)
输出:
Phil
likes
to
code
我不能使用任何导入或
我有以下两份清单:
nums = [1, 2, 3, 4, 5, 6, 7, 8]
ltrs = ['a', 'b', 'c', 'd']
for x, y in nums, ltrs:
print(x, y)
有以下错误
c:\Python35\Scripts>python listtest.py
Traceback (most recent call last):
File "listtest.py", line 5, in <module>
for x, y in n
我是Python的新手,我正在尝试创建一个散点图,显示每个xtick的几个y值。我发现了这个问题,它帮助我想出了一些代码:。
x = [1,2,3,4]
y = [(1,1,2,3,9),(1,1,2,4), (0.5,4), (0.1,2)]
for xe, ye in zip(x, y):
plt.scatter([xe] * len(ye), ye, color=['blue', 'red'])
plt.xticks([1, 2, 3, 4])
plt.axes().set_xticklabels(['5', '10
我有以下两份清单:
level = ["a","b","a","c"]
Number = [1,2,1,2]
我只是想知道是否可以使用Python来计算列表级别中每个元素的和号。因此,输出将是两个新列表x和y:
x = ["a", "b","c"]
y = [2,2,2] (e.g: the total Number for "a" is 1+1=2, etc)
在我的python代码中,我有两个可迭代列表。
num = [1, 2, 3 ,4 ,5 ,6 ,]
alpa = ['a', 'b', 'c', 'd']
for (a, b) in itertools.izip_longest(num, alpa):
print a, b
产出:
1 a
2 b
3 c
4 d
5 None
6 None
我的预期产出:
1 a
2 b
3 c
4 d
5 a
6 b
我该怎么做呢?
对于下面的代码,生成器在python2和python3中的行为是不同的。 def g1():
for i in range(3):
print("in g1: {}".format(i))
yield i
def g2():
for i in range(3):
print("in g2: {}".format(i))
yield 2*i
def g3(f1,f2):
for (i,(x,y)) in enumerate(zip(f1,f2)):
print("in g3: {} ---- {
所以我认为这应该是一个非常简单的问题。假设我有一个文本文件,如下所示。
football
baseball
basketball
soccer
和类似于下面这样的列表
colors=["orange","white"]
我了解如何在python中一起遍历它们。
for i,j in zip(file, colors)
但是有没有一种简单的方法可以告诉文件从第三行开始,这样如果打印出来,我得到的结果就是
basketball orange
soccer white
我知道如何使用2个列表来做到这一点,但我不确定如何告诉文件从更低的位置开始。一如既往的感谢,我还是个
我有3个大小相等的列表(列表1、2和3)。我希望遍历列表,并对每个项目执行操作。喜欢
for x in List1, y in List2, z in List3:
if(x == "X" or x =="x"):
//Do operations on y
elif(y=="Y" or y=="y"):
//Do operations on x,z
因此,我只想遍历列表中的"Length of List1 or 2 or size“,然后对x、y和z执行操作。
编辑: P
我需要检查一个元素是否不在两个列表中。我目前有:
if ele not in lista:
if ele not in listb:
do stuff
使用以下代码不起作用。在python中有没有更有效的方法来完成上面的任务呢?
if ele not in lista and listb:
do stuff
我正在尝试用Python语言实现算法。我认为我对算法有一个很好的总体理解,但是一些实现细节让我迷惑了。
该算法涉及一个十六进制数组
#Note: I shortened the 18 element array for this example
PI_P_ARRAY = (0x243f6a88, 0x85a308d3, 0x13198a2e, 0x03707344)
和一个密钥
key = 'mysecret'
从维基百科上看,“密钥是一个字节接一个字节,必要时循环密钥,按顺序对所有P项进行XORed。”我如何在Python中实现它?
到目前为止,我甚至不能将密钥转换为十六进