The Shed is going Social! Join us on FaceBook and Twitter and chime in on the conversation.
|
 |
|
Dev Shed Forums
> Programming Languages
> Python Programming
|
This list.. calculate list ints?
Discuss This list.. calculate list ints? in the Python Programming forum on Dev Shed. This list.. calculate list ints? Python Programming forum discussing coding techniques, tips and tricks, and Zope related information. Python was designed from the ground up to be a completely object-oriented programming language.
|
|
 |
|
|
|
|

Dev Shed Forums Sponsor:
|
|
|

November 6th, 2012, 02:12 PM
|
|
Registered User
|
|
Join Date: Sep 2012
Posts: 10
Time spent in forums: 1 h 35 m 12 sec
Reputation Power: 0
|
|
|
This list.. calculate list ints?
Okey, I just posted here about objects in a list, I got a helpful answer very fast so I was thinking, why not get more help since it is much needed! It is still the list, right now my list looks something like this
Code:
mylist = [name 10, name2 15, name3 23]
This looks retarded I know, but I have the user input a first name, last name and a value into the list, what I want to do is to find the average of the values, if you understand?
I can't get it working, is that becouse i have mixed str and int in the list, is this even possible?
again, all help is appreciated!
|

November 6th, 2012, 02:20 PM
|
|
Contributing User
|
|
Join Date: Mar 2012
Posts: 33
Time spent in forums: 8 h 25 m 17 sec
Reputation Power: 2
|
|
ya its pretty possible
Code:
list = ['string', 14, '19', 'STRING']
with this list you can see there are two string @ indexes 0 and 3 and two ints @ the indexes 1 and 2
easiest way to add these ints is with a loop like this
Code:
result = 0
for i in list:
if type(i) == type(1):
# type(1) is an int obviously
result += i
and thats it, you have added your ints together and stored the result in the variable 'result'
EDIT:
Also i'm not sure what your are trying to do with your list there is name name2 and name3 of type string that is stored from input? and the ints just the length of the name?
well if so you might want to look at this
Code:
print "Enter your full name:\n"
name1 = raw_input('> ')
name2 = raw_input('> ')
name3 = raw_input('> ')
list = [name1, len(name1), name2, len(name2), name3, len(name3)]
result = 0
for i in list:
if type(i) == type(1):
result += i
print "Your result is %d" %(result)
|

November 6th, 2012, 02:27 PM
|
 |
Contributing User
|
|
Join Date: May 2012
Location: 39N 104.28W
Posts: 97
Time spent in forums: 1 Day 15 h 24 m 4 sec
Reputation Power: 2
|
|
First of all, i think the syntax of the list as stated is wrong:
Code:
>>> mylist = [name 10, name2 15, name3 23]
File "<stdin>", line 1
mylist = [name 10, name2 15, name3 23]
^
SyntaxError: invalid syntax
So if you fix that, then, yes, even what appear to be integers will be strings so you have to deal with that. How about this:
Code:
>>> mylist = ["name 10", "name2 15", "name3 23"]
>>> mylist=[i.split() for i in mylist]
>>> mylist
[['name', '10'], ['name2', '15'], ['name3', '23']]
>>> mylist=zip(*mylist)
>>> mylist
[('name', 'name2', 'name3'), ('10', '15', '23')]
>>> av=sum(map(int,mylist[1]))/len(mylist[1])
>>> av
16
>>>
|

November 6th, 2012, 03:14 PM
|
|
Registered User
|
|
Join Date: Sep 2012
Posts: 10
Time spent in forums: 1 h 35 m 12 sec
Reputation Power: 0
|
|
|
I'm sorry if i was unclear, it no syntax errorr, but it is hard to explain! still, very helpful, I think I can take it from here, thx guys.
|

November 6th, 2012, 04:00 PM
|
 |
Commie Mutant Traitor
|
|
Join Date: Jun 2004
Location: Norcross, GA (again)
|
|
Are you certain that it is a list that you want? The structure of the data seems more suited to a dictionary, with the name as the key and the score as the value:
Code:
mydict = {name: 10, name2: 15, name3: 23}
This seems like a better solution for the problem at hand, as well.
|
Developer Shed Advertisers and Affiliates
| Thread Tools |
Search this Thread |
|
|
|
| Display Modes |
Rate This Thread |
Linear Mode
|
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
|
|