operations with empty strings | islower () function

islower | NumPy | Python Methods and Functions | String Variables

numpy.core.defchararray.islower(arr) returns True for each element, if all string characters in the string are lowercase and even though would be one uppercase character, otherwise it returns false.

arr: array_like of str or unicode

Returns: [ndarray] Output array of bools.

Code # 1:

Output :

 input array: [`P4Q R`` 4Q rP` `Q rp4`` rpq`] output array: [ False False False True] 

Code # 2:

# Python program explaining
# numpy.char.islower () function


import numpy as geek 



in_arr = geek.array ([ `P4Q R` , `4Q rP` , ` Q rp4` , `rpq` ])

print ( "input array:" , in_arr)


out_arr = geek.char.islower (in_arr)

print ( "output array:" , out_arr)

# Python program explaining
# numpy.char.lower () function


import numpy as geek 



in_arr = geek.array ([ `GEEKS` , `for` , ` Geeks` ])


print ( "input array:" , in_arr)


out_arr < code class = "keyword"> = geek.char.islower (in_arr)

print ( "output array:" , out_arr)


 input array: [`GEEKS`` for` `Geeks`] output array: [False True False] 

operations with empty strings | islower () function: StackOverflow Questions

Answer #1

itertools.groupby is a tool for grouping items.

From the docs, we glean further what it might do:

# [k for k, g in groupby("AAAABBBCCDAABBB")] --> A B C D A B

# [list(g) for k, g in groupby("AAAABBBCCD")] --> AAAA BBB CC D

groupby objects yield key-group pairs where the group is a generator.


  • A. Group consecutive items together
  • B. Group all occurrences of an item, given a sorted iterable
  • C. Specify how to group items with a key function *


# Define a printer for comparing outputs
>>> def print_groupby(iterable, keyfunc=None):
...    for k, g in it.groupby(iterable, keyfunc):
...        print("key: "{}"--> group: {}".format(k, list(g)))
# Feature A: group consecutive occurrences
>>> print_groupby("BCAACACAADBBB")
key: "B"--> group: ["B"]
key: "C"--> group: ["C"]
key: "A"--> group: ["A", "A"]
key: "C"--> group: ["C"]
key: "A"--> group: ["A"]
key: "C"--> group: ["C"]
key: "A"--> group: ["A", "A"]
key: "D"--> group: ["D"]
key: "B"--> group: ["B", "B", "B"]

# Feature B: group all occurrences
>>> print_groupby(sorted("BCAACACAADBBB"))
key: "A"--> group: ["A", "A", "A", "A", "A"]
key: "B"--> group: ["B", "B", "B", "B"]
key: "C"--> group: ["C", "C", "C"]
key: "D"--> group: ["D"]

# Feature C: group by a key function
>>> # islower = lambda s: s.islower()                      # equivalent
>>> def islower(s):
...     """Return True if a string is lowercase, else False."""   
...     return s.islower()
>>> print_groupby(sorted("bCAaCacAADBbB"), keyfunc=islower)
key: "False"--> group: ["A", "A", "A", "B", "B", "C", "C", "D"]
key: "True"--> group: ["a", "a", "b", "b", "c"]


Note: Several of the latter examples derive from Víctor Terrón"s PyCon (talk) (Spanish), "Kung Fu at Dawn with Itertools". See also the groupby source code written in C.

* A function where all items are passed through and compared, influencing the result. Other objects with key functions include sorted(), max() and min().


# OP: Yes, you can use `groupby`, e.g. 
[do_something(list(g)) for _, g in groupby(lxml_elements, criteria_func)]

Get Solution for free from DataCamp guru