小编AGN*_*zer的帖子

Python:通过引用传递和切片分配

在Python中,列表通过引用函数传递,对吧?

如果是这样,那里发生了什么?

>>> def f(a):
...     print(a)
...     a = a[:2]
...     print(a)
...
>>> b = [1,2,3]
>>> f(b)
[1, 2, 3]
[1, 2]
>>> print(b)
[1, 2, 3]
>>>
Run Code Online (Sandbox Code Playgroud)

python reference function list python-2.7

4
推荐指数
3
解决办法
759
查看次数

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

将输入()转换为 Python 3 中的字节?

自从我开始使用 Python 的第 3 版以来,我在通过套接字发送字符串时遇到了很多问题。我知道要在套接字中发送字符串,'b'必须在字符串之前放置a才能将其转换为字节。但是当我必须将 an 转换input()为字节时会发生什么?它是如何完成的?

我需要将键盘写入的消息发送到套接字:

import socket

client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(("localhost",7500))

msg = input()
client.send(msg) 
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试时,出现以下错误:

TypeError: a bytes-like object is required, not 'str'
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我如何转换input()为字节吗?我总是使用 2.7 版本,我不明白为什么版本 3 对套接字的处理如此刺激。:(

python python-3.x

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

Numpy 数组转 PIL 图像格式

我正在尝试将图像从 numpy 数组格式转换为 PIL 格式。这是我的代码:

img = numpy.array(image)
row,col,ch= np.array(img).shape
mean = 0
# var = 0.1
# sigma = var**0.5
gauss = np.random.normal(mean,1,(row,col,ch))
gauss = gauss.reshape(row,col,ch)
noisy = img + gauss
im = Image.fromarray(noisy)
Run Code Online (Sandbox Code Playgroud)

此方法的输入是 PIL 图像。此方法应将高斯噪声添加到图像中,并再次将其作为 PIL 图像返回。

任何帮助是极大的赞赏!

python numpy image python-imaging-library

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

如何在Python中创建返回此列表的所有组合的函数?

我有这样的清单:

[['I'],['want','love','like'],['cat',dog]]
Run Code Online (Sandbox Code Playgroud)

我想创建一个函数,可以返回列表中的所有单词组合,如下所示:

[['I'],['want'],['cat']]
[['I'],['love'],['cat']]
[['I'],['like'],['cat']]
[['I'],['want'],['dog']]
[['I'],['love'],['dog']]
[['I'],['like'],['dog']]
Run Code Online (Sandbox Code Playgroud)

PS:该功能必须适用于任何n单词

python recursion for-loop

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

随机删除 numpy 数组中 30% 的值

我有一个包含我的值的 2D numpy 数组(其中一些可以是 NaN)。我想删除 30% 的非 NaN 值并将它们替换为数组的平均值。我怎么能这样做?到目前为止我尝试过的:

def spar_removal(array, mean_value, sparseness):
    array1 = deepcopy(array)
    array2 = array1
    spar_size = int(round(array2.shape[0]*array2.shape[1]*sparseness))
    for i in range (0, spar_size):
        index = np.random.choice(np.where(array2 != mean_value)[1])
        array2[0, index] = mean_value
    return array2
Run Code Online (Sandbox Code Playgroud)

但这只是选择数组的同一行。如何从整个阵列中删除?似乎选择只适用于一维。我想我想要的是计算(x, y)我将用mean_value.

python arrays numpy

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

我的代码一直返回-1而不是实际的答案

def Add2NumbersTogether(x,y):

    try:

        s = str(x) + '.'
        y = float(s)
        print(y)
        return (x + y)
    except:
        return - 1


n = 90.09
v = 9

a = Add2NumbersTogether(n,v)
print(a)
Run Code Online (Sandbox Code Playgroud)

python python-3.x

-4
推荐指数
1
解决办法
62
查看次数