Hi,
How to check if something is a list or a dictionary or just a string?
Eg:
for item in self.__libVerDict.itervalues():
self.cbAnalysisLibVersion(END, item)
where __libVerDict is a dictionary that holds values as strings or
lists. So now, when I iterate this dictionary I want to check whether
the item is a list or just a string?
Thanks,
Rajat 6 2989
On Aug 29, 9:16*am, dudeja.ra...@gmail.com wrote:
Hi,
How to check if something is a list or a dictionary or just a string?
Eg:
for item in self.__libVerDict.itervalues():
* * * * * * self.cbAnalysisLibVersion(END, item)
where __libVerDict is a dictionary that holds values as strings or
lists. So now, when I iterate this dictionary I want to check whether
the item is a list or just a string?
Thanks,
Rajat
type() and probably you want to import the types library as well.
In [1]: import types
In [2]: a = {1: {}, False: [], 'yes': False, None: 'HELLO'}
In [3]: a.values()
Out[3]: [[], {}, False, 'HELLO']
In [4]: [type(item) for item in a.itervalues()]
Out[4]: [<type 'list'>, <type 'dict'>, <type 'bool'>, <type 'str'>]
In [6]: for item in a.itervalues():
...: if type(item) is types.BooleanType:
...: print "Boolean", item
...: elif type(item) is types.ListType:
...: print "List", item
...: elif type(item) is types.StringType:
...: print "String", item
...: else:
...: print "Some other type", type(item), ':', item
...:
...:
List []
Some other type <type 'dict': {}
Boolean False
String HELLO
On Aug 29, 12:16 pm, dudeja.ra...@gmail.com wrote:
Hi,
How to check if something is a list or a dictionary or just a string?
Eg:
for item in self.__libVerDict.itervalues():
self.cbAnalysisLibVersion(END, item)
where __libVerDict is a dictionary that holds values as strings or
lists. So now, when I iterate this dictionary I want to check whether
the item is a list or just a string?
if isinstance(item,basestring):
# it's a string
...
else: # it should be a list
# typically you don't have to check it explicitly;
# even if it's not a list, it will raise an exception later anyway
if you call a list-specific method
HTH,
George
George Sakkis wrote:
On Aug 29, 12:16 pm, dudeja.ra...@gmail.com wrote:
>Hi,
How to check if something is a list or a dictionary or just a string? Eg:
for item in self.__libVerDict.itervalues(): self.cbAnalysisLibVersion(END, item)
where __libVerDict is a dictionary that holds values as strings or lists. So now, when I iterate this dictionary I want to check whether the item is a list or just a string?
if isinstance(item,basestring):
# it's a string
...
else: # it should be a list
# typically you don't have to check it explicitly;
# even if it's not a list, it will raise an exception later anyway
if you call a list-specific method
HTH,
George
For a bit more explanation see, for example, http://evanjones.ca/python-utf8.html
(Quote)
Working With Unicode Strings
Thankfully, everything in Python is supposed to treat Unicode strings
identically to byte strings. However, you need to be careful in your own
code when testing to see if an object is a string. Do not do this:
if isinstance( s, str ): # BAD: Not true for Unicode strings!
Instead, use the generic string base class, basestring:
if isinstance( s, basestring ): # True for both Unicode and byte strings
But this changes with Python 3, right?
On Aug 30, 7:15*am, Ken Starks <stra...@lampsacos.demon.co.ukwrote:
George Sakkis wrote:
On Aug 29, 12:16 pm, dudeja.ra...@gmail.com wrote:
Hi,
How to check if something is a list or a dictionary or just a string?
Eg:
for item in self.__libVerDict.itervalues():
* * * * * * self.cbAnalysisLibVersion(END, item)
where __libVerDict is a dictionary that holds values as strings or
lists. So now, when I iterate this dictionary I want to check whether
the item is a list or just a string?
if isinstance(item,basestring):
* *# it's a string
* * ...
else: # it should be a list
* *# typically you don't have to check it explicitly;
* *# even if it's not a list, it will raise an exception later anyway
if you call a list-specific method
HTH,
George
For a bit more explanation see, for example,
http://evanjones.ca/python-utf8.html
(Quote)
Working With Unicode Strings
Thankfully, everything in Python is supposed to treat Unicode strings
identically to byte strings. However, you need to be careful in your own
code when testing to see if an object is a string. Do not do this:
if isinstance( s, str ): # BAD: Not true for Unicode strings!
Instead, use the generic string base class, basestring:
if isinstance( s, basestring ): # True for both Unicode and byte strings
josh logan wrote:
But this changes with Python 3, right?
right!
see http://docs.python.org/dev/3.0/whatsnew/3.0.html
(quote)
Strings and Bytes
* There is only one string type; its name is str but its behavior
and implementation are like unicode in 2.x.
* The basestring superclass has been removed. The 2to3 tool
replaces every occurrence of basestring with str.
* PEP 3137: There is a new type, bytes, to represent binary data
(and encoded text, which is treated as binary data until you decide to
decode it). The str and bytes types cannot be mixed; you must always
explicitly convert between them, using the str.encode() (str -bytes)
or bytes.decode() (bytes -str) methods.
* All backslashes in raw strings are interpreted literally. This
means that Unicode escapes are not treated specially.
* PEP 3112: Bytes literals, e.g. b"abc", create bytes instances.
* PEP 3120: UTF-8 default source encoding.
* PEP 3131: Non-ASCII identifiers. (However, the standard library
remains ASCII-only with the exception of contributor names in comments.)
* PEP 3116: New I/O Implementation. The API is nearly 100%
backwards compatible, but completely reimplemented (currently mostly in
Python). Also, binary files use bytes instead of strings.
* The StringIO and cStringIO modules are gone. Instead, import
io.StringIO or io.BytesIO.
* '\U' and '\u' escapes in raw strings are not treated specially.
On Aug 30, 7:15 am, Ken Starks <stra...@lampsacos.demon.co.ukwrote:
>George Sakkis wrote:
>>On Aug 29, 12:16 pm, dudeja.ra...@gmail.com wrote: Hi, How to check if something is a list or a dictionary or just a string? Eg: for item in self.__libVerDict.itervalues(): self.cbAnalysisLibVersion(END, item) where __libVerDict is a dictionary that holds values as strings or lists. So now, when I iterate this dictionary I want to check whether the item is a list or just a string? if isinstance(item,basestring): # it's a string ... else: # it should be a list # typically you don't have to check it explicitly; # even if it's not a list, it will raise an exception later anyway if you call a list-specific method HTH, George
For a bit more explanation see, for example,
http://evanjones.ca/python-utf8.html
(Quote) Working With Unicode Strings
Thankfully, everything in Python is supposed to treat Unicode strings identically to byte strings. However, you need to be careful in your own code when testing to see if an object is a string. Do not do this:
if isinstance( s, str ): # BAD: Not true for Unicode strings!
Instead, use the generic string base class, basestring:
if isinstance( s, basestring ): # True for both Unicode and byte strings
du**********@gmail.com wrote:
Hi,
How to check if something is a list or a dictionary or just a string?
Eg:
for item in self.__libVerDict.itervalues():
self.cbAnalysisLibVersion(END, item)
where __libVerDict is a dictionary that holds values as strings or
lists. So now, when I iterate this dictionary I want to check whether
the item is a list or just a string?
Thanks,
Rajat
Are you sure that is what you want to do or do you want to make sure that
"something" is an iterable. What if someone passed in a generator or a class
instance that is iterable, do you really want to fail?
-Larry This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
by: buzzweetman |
last post by:
Many times I have a Dictionary<string, SomeTypeand need to get the
list of keys out of it as a List<string>, to pass to a another method
that expects a List<string>.
I often do the following:
...
|
by: Mark Rae |
last post by:
Hi,
Is it possible to create a case-insensitive List<stringcollection?
E.g.
List<stringMyList = new List<string>;
MyList.Add("MyString");
So that:
|
by: Andrew Robinson |
last post by:
I have a method that needs to return either a Dictionary<k,vor a List<v>
depending on input parameters and options to the method.
1. Is there any way to convert from a dictionary to a list...
|
by: admin |
last post by:
I have a class that has a function that should query a database and
return a list of usernames as well as their id. What type should I use
as a return type, that can hold data such as:
user1, 1...
|
by: Assimalyst |
last post by:
Hi
I have a Dictionary<string, List<string>>, which i have successfully
filled. My problem is I need to create a filter expression using all
possible permutations of its contents.
i.e. the...
| |
by: Terry Reedy |
last post by:
SUBHABRATA, I recommend you study this excellent response carefully.
castironpi wrote:
It starts with a concrete test case -- an 'executable problem
statement'. To me, this is cleared and...
|
by: =?Utf-8?B?THVpZ2k=?= |
last post by:
Hi all,
having a List<stringand Dictionary<int, stringhow can I check that every
string in the list is also in the Dictionary (and viceversa)?
(and raise an exception when not).
Thanks in...
|
by: =?Utf-8?B?THVpZ2k=?= |
last post by:
Hi all,
I have to write a method that test a dictionary of this type:
Dictionary<string, Dictionary<string, string>>
to check if every string is not null or empty.
How can I write this?
...
|
by: =?Utf-8?B?anAybXNmdA==?= |
last post by:
I'm pulling records from or database by dates, and there are multiple records
for each part number.
The part numbers are being stored as strings in a List in a custom Employee
class:
...
|
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
|
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
| |
by: Hystou |
last post by:
Overview:
Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
|
by: agi2029 |
last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
|
by: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM).
In this session, we are pleased to welcome a new...
|
by: adsilva |
last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
|
by: 6302768590 |
last post by:
Hai team
i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...
|
by: muto222 |
last post by:
How can i add a mobile payment intergratation into php mysql website.
| |
by: bsmnconsultancy |
last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...
| |