相关疑难解决方法(0)

IndexError:列表赋值索引超出范围

请考虑以下代码:

i = [1, 2, 3, 5, 8, 13]
j = []
k = 0

for l in i:
    j[k] = l
    k += 1

print j
Run Code Online (Sandbox Code Playgroud)

输出(Win 7 32位上的Python 2.6.6)是:

> Traceback (most recent call last): 
>     j[k] = l IndexError: list assignment index out of range
Run Code Online (Sandbox Code Playgroud)

我想这很简单,我不明白.有人可以清理它吗?

python exception list

174
推荐指数
7
解决办法
48万
查看次数

在每个列表元素上调用int()函数?

我有一个包含数字字符串的列表,如下所示:

numbers = ['1', '5', '10', '8'];
Run Code Online (Sandbox Code Playgroud)

我想将每个列表元素转换为整数,所以它看起来像这样:

numbers = [1, 5, 10, 8];
Run Code Online (Sandbox Code Playgroud)

我可以使用循环来完成它,如下所示:

new_numbers = [];
for n in numbers:
    new_numbers.append(int(n));
numbers = new_numbers;
Run Code Online (Sandbox Code Playgroud)

它必须如此丑陋吗?我确信在一行代码中有更多的pythonic方法可以做到这一点.请帮帮我.

python list

172
推荐指数
5
解决办法
22万
查看次数

如何在for循环期间修改列表条目?

现在我知道在迭代循环期间修改列表是不安全的.但是,假设我有一个字符串列表,我想自己去除字符串.替换可变值是否算作修改?

python

150
推荐指数
5
解决办法
21万
查看次数

在Python列表中查找并替换字符串值

我有这个清单:

words = ['how', 'much', 'is[br]', 'the', 'fish[br]', 'no', 'really']
Run Code Online (Sandbox Code Playgroud)

我想要的是取代[br]一些类似的奇妙价值<br />,从而得到一个新的清单:

words = ['how', 'much', 'is<br />', 'the', 'fish<br />', 'no', 'really']
Run Code Online (Sandbox Code Playgroud)

python string list

134
推荐指数
5
解决办法
34万
查看次数

除非分配输出,否则为什么不调用Python字符串方法呢?

我尝试做一个简单的字符串替换,但我不知道为什么它似乎不起作用:

X = "hello world"
X.replace("hello", "goodbye")
Run Code Online (Sandbox Code Playgroud)

我想将单词更改hellogoodbye,因此它应该将字符串更改"hello world""goodbye world".但X仍然存在"hello world".为什么我的代码不起作用?

python string replace

133
推荐指数
1
解决办法
10万
查看次数

如何在Python中执行两个列表的元素乘法?

我想执行元素明智的乘法,在Python中将两个列表乘以值,就像我们可以在Matlab中一样.

这就是我在Matlab中的表现.

a = [1,2,3,4]
b = [2,3,4,5]
a .* b = [2, 6, 12, 20]
Run Code Online (Sandbox Code Playgroud)

对于from 和from的每个组合x * y,列表理解将给出16个列表条目.不确定如何映射这个.xayb

如果有人对此感兴趣,我有一个数据集,并希望将其乘以Numpy.linspace(1.0, 0.5, num=len(dataset)) =).

python list multiplying elementwise-operations

124
推荐指数
9
解决办法
26万
查看次数

如何在Python中将多个值附加到列表中

我试图找出如何将多个值附加到Python中的列表.我知道有一些方法来做到这一点,如手动输入值,或在PUR追加操作for循环,或appendextend功能.

但是,我想知道是否有更简洁的方法呢?也许某个包或功能?

我是Python的第1天,所以如果我问天真的问题,请原谅我.

非常感谢你.:)

python list

119
推荐指数
4
解决办法
25万
查看次数

如何从Python中的一组字符串中删除特定的子串?

我有一组字符串set1,并且所有字符串set1都有两个特定的子字符串,我不需要并且想要删除它们.
示例输入: set1={'Apple.good','Orange.good','Pear.bad','Pear.good','Banana.bad','Potato.bad'}
基本上我希望从所有字符串中删除.good.bad子串.
我尝试了什么:

for x in set1:
    x.replace('.good','')
    x.replace('.bad','')
Run Code Online (Sandbox Code Playgroud)

但这似乎根本不起作用.输出绝对没有变化,它与输入相同.我尝试使用for x in list(set1)而不是原来的,但这并没有改变任何东西.

python python-3.x

117
推荐指数
7
解决办法
25万
查看次数

Python函数作为函数参数?

Python函数可以作为另一个函数的参数吗?

说:

def myfunc(anotherfunc, extraArgs):
    # run anotherfunc and also pass the values from extraArgs to it
    pass
Run Code Online (Sandbox Code Playgroud)

所以这基本上是两个问题:

  1. 它是否允许?
  2. 如果是,如何在其他功能中使用该功能?我需要使用exec(),eval()或类似的东西吗?永远不需要弄乱它们.

BTW,extraArgs是anotherfunc参数的列表/元组.

python arguments function

103
推荐指数
4
解决办法
18万
查看次数

使用列表推导仅仅是副作用是Pythonic吗?

想想我正在调用它的副作用的函数,而不是返回值(比如打印到屏幕,更新GUI,打印到文件等).

def fun_with_side_effects(x):
    ...side effects...
    return y
Run Code Online (Sandbox Code Playgroud)

现在,是Pythonic使用列表推导来调用这个函数:

[fun_with_side_effects(x) for x in y if (...conditions...)]
Run Code Online (Sandbox Code Playgroud)

请注意,我不会将列表保存在任何位置

或者我应该像这样调用这个函数:

for x in y:
    if (...conditions...):
        fun_with_side_effects(x)
Run Code Online (Sandbox Code Playgroud)

哪个更好?为什么?

python list-comprehension

97
推荐指数
4
解决办法
8534
查看次数