472,354 Members | 1,621 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,354 software developers and data experts.

Using the result of type() in a boolean statement?

If I define a dictionary where one or more of the values is also a
dictionary, e.g.:

my_dict={"a":"string", "b":"string", "c":{"x":"0","y":"1"},
"d":"string"}

How can I use the output of type() so I can do one thing if the value
is a string, and another if the value is a dictionary?

i.e., I'd like to define a loop like this, but I'm not sure of the
syntax:

for key, value in my_dict.items():
if type{value) is <type 'dict'>:
# do the dictionary logic
elif type(value) is <type 'str'>:
# do the string logic
# etc
Nov 12 '08 #1
2 1328
dpapathanasiou wrote:
If I define a dictionary where one or more of the values is also a
dictionary, e.g.:

my_dict={"a":"string", "b":"string", "c":{"x":"0","y":"1"},
"d":"string"}

How can I use the output of type() so I can do one thing if the value
is a string, and another if the value is a dictionary?

i.e., I'd like to define a loop like this, but I'm not sure of the
syntax:

for key, value in my_dict.items():
if type{value) is <type 'dict'>:
if type(v) is dict:
# do the dictionary logic
elif type(value) is <type 'str'>:
.... is str
# do the string logic
For built-in types without a built-in name, either import the types
module or just make one yourself with type().
>>func = type(lambda:1)
func
<class 'function'>
>>bif = type(abs)
bif
<class 'builtin_function_or_method'>

For userclass instances, use the userclass.

Terry Jan Reedy
Nov 12 '08 #2
dpapathanasiou wrote:
... I'd like to define a loop like this, ...
for key, value in my_dict.items():
if type{value) is <type 'dict'>:
# do the dictionary logic
elif type(value) is <type 'str'>:
# do the string logic
# etc
You're searching for "isinstance" (or possibly issubclass)
for key, value in my_dict.items():
if isinstance(value, dict):
# do the dictionary logic
elif isinstance(value, str): # use basestring for str & unicode
# do the string logic

Or, if you _must_ use type:
if issubclass(type(value), dict):
# do the dictionary logic
elif issubclass(type(value), str):
# do the string logic
--Scott David Daniels
Sc***********@Acm.Org
Nov 12 '08 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
by: Random Person | last post by:
Does anyone know how to use VBA to relink tables between two MS Access databases? We have two databases, one with VBA code and the other with data tables. The tables are referenced by linked...
11
by: Grasshopper | last post by:
Hi, I am automating Access reports to PDF using PDF Writer 6.0. I've created a DTS package to run the reports and schedule a job to run this DTS package. If I PC Anywhere into the server on...
1
by: Daveyk0 | last post by:
Hello there, I have a front end database that I have recently made very many changes to to allow off-line use. I keep copies of the databases on my hard drive and link to them rather than the...
1
by: Prasad Karunakaran | last post by:
I am using the C# DirectoryEntry class to retrieve the Properties of an user object in the Active Directory. I need to get the First Name and Last Name as properties. I know it is not supported...
18
by: Jen | last post by:
I'm using Microsoft's own VB.NET FTP Example: http://support.microsoft.com/default.aspx?scid=kb;en-us;832679 I can get the program to create directories, change directories, etc., but I can't...
6
by: ransoma22 | last post by:
I developing an application that receive SMS from a connected GSM handphone, e.g Siemens M55, Nokia 6230,etc through the data cable. The application(VB.NET) will receive the SMS automatically,...
1
by: Thiero | last post by:
Hi I posted s thread but did have any reply, I am a new programmer and really wants someone to help me on how to use TreeMap for this code cos I want to it to be able to handle the options from 6...
4
by: Tugrul HELVACI | last post by:
Changing DisplayNames of my properties using PropertyGrid component, how ?? I'm using Delphi 2006 and I have a class defination like this: TPerson = class fPersonName : String;...
1
by: kommaraju | last post by:
iam a starter to db2 & jdbc.i have a servlet program which connects to ibm db2 using jdbc.when i run this using apache tomcat 4.1.34 , it is showing a error message of HTTP STATUS 500 my jdbc...
4
by: Marc | last post by:
Hi, I don't get it I cannot get this to work, can somebody give me a hint Table1 contains a field Id which is a GUID as primary key and DATA a string, I want to insert a new row but it does not...
2
by: Kemmylinns12 | last post by:
Blockchain technology has emerged as a transformative force in the business world, offering unprecedented opportunities for innovation and efficiency. While initially associated with cryptocurrencies...
0
by: antdb | last post by:
Ⅰ. Advantage of AntDB: hyper-convergence + streaming processing engine In the overall architecture, a new "hyper-convergence" concept was proposed, which integrated multiple engines and...
2
by: Matthew3360 | last post by:
Hi, I have a python app that i want to be able to get variables from a php page on my webserver. My python app is on my computer. How would I make it so the python app could use a http request to get...
0
by: AndyPSV | last post by:
HOW CAN I CREATE AN AI with an .executable file that would suck all files in the folder and on my computerHOW CAN I CREATE AN AI with an .executable file that would suck all files in the folder and...
0
by: Arjunsri | last post by:
I have a Redshift database that I need to use as an import data source. I have configured the DSN connection using the server, port, database, and credentials and received a successful connection...
0
hi
by: WisdomUfot | last post by:
It's an interesting question you've got about how Gmail hides the HTTP referrer when a link in an email is clicked. While I don't have the specific technical details, Gmail likely implements measures...
1
by: Matthew3360 | last post by:
Hi, I have been trying to connect to a local host using php curl. But I am finding it hard to do this. I am doing the curl get request from my web server and have made sure to enable curl. I get a...
0
Oralloy
by: Oralloy | last post by:
Hello Folks, I am trying to hook up a CPU which I designed using SystemC to I/O pins on an FPGA. My problem (spelled failure) is with the synthesis of my design into a bitstream, not the C++...
0
by: Rahul1995seven | last post by:
Introduction: In the realm of programming languages, Python has emerged as a powerhouse. With its simplicity, versatility, and robustness, Python has gained popularity among beginners and experts...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.