请考虑以下代码:
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)
我想这很简单,我不明白.有人可以清理它吗?
我有一个包含数字字符串的列表,如下所示:
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方法可以做到这一点.请帮帮我.
现在我知道在迭代循环期间修改列表是不安全的.但是,假设我有一个字符串列表,我想自己去除字符串.替换可变值是否算作修改?
我有这个清单:
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) 我尝试做一个简单的字符串替换,但我不知道为什么它似乎不起作用:
X = "hello world"
X.replace("hello", "goodbye")
Run Code Online (Sandbox Code Playgroud)
我想将单词更改hello为goodbye,因此它应该将字符串更改"hello world"为"goodbye world".但X仍然存在"hello world".为什么我的代码不起作用?
我想执行元素明智的乘法,在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中的列表.我知道有一些方法来做到这一点,如手动输入值,或在PUR追加操作for循环,或append和extend功能.
但是,我想知道是否有更简洁的方法呢?也许某个包或功能?
我是Python的第1天,所以如果我问天真的问题,请原谅我.
非常感谢你.:)
我有一组字符串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函数可以作为另一个函数的参数吗?
说:
def myfunc(anotherfunc, extraArgs):
# run anotherfunc and also pass the values from extraArgs to it
pass
Run Code Online (Sandbox Code Playgroud)
所以这基本上是两个问题:
BTW,extraArgs是anotherfunc参数的列表/元组.
想想我正在调用它的副作用的函数,而不是返回值(比如打印到屏幕,更新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 ×10
list ×5
string ×2
arguments ×1
exception ×1
function ×1
multiplying ×1
python-3.x ×1
replace ×1