我试着解决Python的10.3练习
编写一个函数,该函数接受一个数字列表并返回累积和;也就是说,一个新的列表,其中ith元素是原始列表中第一个i + 1元素的和。例如,[1, 2, 3]的累积和是[1, 3, 6]。
我得到了一个包含以下代码的TypeError:
def culm_sum(num):
res= []
a = 0
for i in num:
a += i
res += a
return res
当我给culm_sum([1, 2, 3])打电话的时候
TypeError: 'int' ob
我正在从一个包含MLB播放器统计数据的输入文件中读取数据。文件的每一行包含与每个播放器相关的9个元素。我正在计算一些统计数据,并将它们添加到使用player统计数据创建的列表的末尾,但是正在得到一个类型错误,指定了float object is not iterable。下面是用于从输入文件填充列表的代码:
def readInput(fileName):
stats = []
try:
fh = open(fileName, "r")
#populated the stats list
for line in f
简单的问题。
我有一个数字(整数):
mynumber = 1239
我想把它转换成一个单独的整数列表,比如[1,2,3,9]
numbersplit = [int(x) for x in mynumber]
但是我得到了一个错误:
TypeError: 'int' object is not iterable
为什么这个不起作用?我只是确保ints是真正的ints。
但是,当我将它包装在str中时,它可以正常工作吗?
[int(x) for x in str(mynumber)]
[1, 2, 3, 9, 8, 9, 8, 7, 2, 3, 9, 4, 7, 8]
是否需
我得到了一个号码:
示例:12345
我应该把这个数字的每一个数字分开,并附加到一个列表(整数列表)中。
num = list(int(input('Enter the number\n')))
print(num)
获取错误:
Exception has occurred: TypeError 'int' object is not iterable
所需输出:[1, 2, 3, 4, 5]
我试图使用foreach方法循环遍历包含学生数据的列表,但是我得到了错误QA does not contain a public instance definition for 'getenumerator' for each。
我的QA课程如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace Test
{
class QA
我一直被告知python的本机追加是一个缓慢的函数,应该在for循环中避免。然而,经过几次小测试之后,我发现在使用for循环迭代它时,它的性能比numpy数组要差得多:
第一次测试数组/列表构造
附加python本机列表
def pythonAppend(n):
x = []
for i in range(n):
x.append(i)
return x
%timeit pythonAppend(1000000)
Numpy分配数组然后访问
def numpyConstruct(n):
x = np.zeros(n)
一个关于偶像Python的问题。假设我有一个函数:
def a_function(list_of_things):
for item in list_of_things:
process_item(item)
现在假设我很难确定输入参数是一个列表。即使是现在,我也能听到甜蜜的毕多诺大合唱恳求我:“使用鸭-键入和例外!”
def a_function(list_of_things):
try:
for item in list_of_things:
process_item(item)
except:
我用python写了一个普通的函数
def mean(*args):
numbers = args
sm=0
length = len(numbers)
if length>0:
for num in numbers:
sm = sm+num
return sm/length
else:
return 'FAIL'
它可以很好地处理数值。现在,我想修改它,以便它也接受输入中的可迭
如果有机会,我正在教授基础python,我想展示如何轻松地生成每种类型的值,如下所示:
>>> l = [bool,int,float,str,list,tuple,set,dict]
>>> o = [f() for f in l]
>>> o
[False, 0, 0.0, '', [], (), set([]), {}]
然后我对自己说,我是否可以添加一个None项目到列表中,所以我这样做了,我得到了一个意想不到的异常:
>>> o = [f() for f in l, None]
Traceback
我使用的是python 2.7.6。我想将我的对象列表转换为csv格式。我有一个cdr对象的列表,这个对象包含一些string,int和datatime对象。
class cdr():
def __init__(self):
# some init
def __iter__(self):
return iter(self.name, self.my_value,self.my_datetime)
#from another class
import csv
def make_csv(self, cdr_list):
with open
我偶然发现这句话:
"Python在-5和256之间保留了一个int数组。当您在该范围内创建int时,您将得到对预先存在的对象的引用“。
您可以使用以下代码进行验证:
def check(n,d):
a = b = n
a -= d
b -= d
return a is b
现在,check(500,10)返回False。但是check(500,300)返回True。为什么Python编译器会做这样的事情?这不是对付虫子的完美配方吗?
我在地图对象上使用生成器时遇到了麻烦。这是最简单的例子:
a = ['1','2','3']
a = map(int, a)
for x in a:
print(x, end = ' ') #output 1 2 3
b = [x for x in a]
print(b) #output []
Python 3.5
当然,我知道列表(地图),但我想知道为什么这不工作。
我正在学习脚本语言,python。我非常了解Java。我正在尝试将一段代码从Java转换到python。但是它们的行为不稳定(或者我的理解完全错误)--我在Java中有下面的代码,我将无限期地向ArrayList添加元素。因此,这会导致外部内存错误,我希望:
import java.util.*;
public class Testing{
public static void main(String[] args){
ArrayList<Integer> list = new ArrayList<Integer>();
list.add
我一直试图显示来自JSON文件的评论列表。我一直在犯这个错误:
回溯(最近一次调用):文件"JsonExtraction.py",第7行,在len(Data)中进行注释: TypeError:'int‘对象不可迭代
我的代码如下所示:
import json
data = []
for line in open('rating_company_small.json', 'r'):
data.append(json.loads(line))
for comment in len(data):
print(comment
这更多的是一个概念性问题。我最近在Python2.7中看到了一段代码(它在2.7中运行,也可能在2.5中运行),其中for循环对正在迭代的列表和列表中的项使用相同的名称,这给我的印象是既是糟糕的做法,也是根本不应该工作的东西。
例如:
x = [1,2,3,4,5]
for x in x:
print x
print x
收益率:
1
2
3
4
5
5
现在,对我来说,打印的最后一个值应该是从循环中分配给x的最后一个值,但我不能理解为什么您可以对for循环的两个部分使用相同的变量名,并让它按预期运行。它们在不同的作用域中吗?引擎盖下是什么让这样的东西起作用?
因此,我在python中编写了这个简单的程序,它的函数名为num,函数以两个参数作为整数,并检查其中是否存在"20“,如果是,则返回True,否则返回False,您会注意到,在if语句中,我调用了另一个函数sum,它是python中内置的函数,所以当我试图传递函数中的a和b的值而不将它们作为元组传递时,它会给出下面提到的错误。所以我的问题是,当我像这个sum((a,b))而不是这个sum(a,b)传递它们时,它为什么会工作呢?
File "c.py", line 8, in <module>
print(num(220,10))
File
几周前,我开始学习python (之前没有编程方面的知识),接着讨论了与序列解包有关的以下问题,这让我非常困惑。
出于某种原因,当我尝试这个:
for b, c in [1,2]:
print b,c
我收到一条错误消息:
TypeError:'int‘对象不可迭代
当我试图用元组(1,2)替换列表时,也会发生同样的情况。
但是当我尝试同样的事情时,在列表中有一个元组:
for b, c in [(1,2)]:
print b,c
很管用-我明白:
1 2
为什么会这样呢?
谢谢。
顺便说一下,我正在使用Python 2.7
我有下面的python列表
[0,1,2,'def','ghi']
现在,我想通过丢弃第一个列表项将上面的内容转换成另一个元组列表,例如,我想要[(1,0),(2,1),('def',2),('ghi',3)]
我有以下代码
point = [0,1,2,'def','ghi']
spliltm0 = split[1:]
ls = ()
int i = 0
for a in spliltm0:
ls = (a,i++)
上面似乎是Python的长代码,上面的代码还有更短的版本吗?我是Pytho
我正在尝试学习python并遇到下面的代码片段
f = open('test.txt')
for line in f:
print line
它逐行打印我文件中的内容。
我理解for x in list循环的基本概念:当list是一个列表时,它将遍历列表中的所有元素。我的问题是,f是一个文件对象,而不是一个列表,为什么for循环会神奇地理解文件中有一行并逐一处理呢?
如果有人能解释上面代码中的for循环到底发生了什么,那将非常有帮助。谢谢!
我写了一些代码:
def ICP(x):
numofrepeat=0
warning=0
while numofrepeat<len(str(x)) or (x[numofrepeat]==2) or (x[numofrepeat]==3) or (x[numofrepeat]==5) or (x[numofrepeat]==7):
if (x[numofrepeat]==0):
warning=warning+1
if warning>1:
numofrepeat=len(x)
我是从python的背景来看javascript的,想问一下如何解释我看到的一些代码。
在Python中,我可以获得以下代码/输出:
Python代码:
myarray = ["a","b", "c"]
for item in myarray:
print (item)
Python输出
a
b
c
在Javascript中,这给了我一些不同的东西:
Javascript代码:
var myarray = ["a","b","c"]
for(var item in myarray){
co
我正在使用Python语言中的max(list)和min(list)查找列表的最大值和最小值。然而,我想知道如何管理空列表。
例如,如果列表是一个空的列表[],程序会引发'ValueError: min() arg is an empty sequence',但我想知道如何让程序只打印'empty list or invalid input'而不是崩溃。如何管理这些错误?