Search code examples
pythonpython-2.7numpywhitelist

SyntaxError: keyword can't be an expression with np.zeroes


I am working on a whitelist project as part of a training course. My program is split into three sections: a whitelist, the user's input, and a third array that counts the instances that a whitelist word appears in the users input. All three sections have been converted into arrays. For example, if my whitearray contains the words (good, talented, special) and my user inputs ("My best friend is a really good flute player. My good friend Celia isn't as skillful."), I should be able to print a result: good 2

My code:

import numpy
whitefile = open('whitefile.txt', 'r')
check = raw_input("Hi! Please enter a string and we will see which words are in the whitefile! Enter here: ")
elementA = 0
check = check.lower()
loopEr = 0
whiteList = []
for line in whitefile:
        myTokens  = line.split( )
        whiteList.append(myTokens)

inpList = check.split()


whiteArray = numpy.array(whiteList).astype(numpy)
#numpy.reshape(inpArray, (2,3))

inpArray = numpy.array(inpList).astype(numpy)

lenwhitefile = len(whiteList)
whiteListCounter = numpy.zeroes((1, lenwhitefile).dtype = numpy.float64)

for i in range(0, len(inpList)-1):
        if inpArray[i] in whiteArray:
                while i in range(0, lenwhiteList):
                        if inpArray[i] == whiteArray[loopEr]:

Error Received:

File "whitelist.py", line 21
whiteListCounter = numpy.zeroes((1, lenwhitefile).dtype = numpy.float64)
SyntaxError: keyword can't be an expression

How can I fix this?


Solution

  • I think you have 2 issues:

    1. zeros instead of zeroes
    2. ,dtype rather than .dtype

    whiteListCounter = numpy.zeros((1, lenwhitefile), dtype = numpy.float64)