Can somebody explain this piece of python code to me? [duplicate] - python

This question already has answers here:
Python for-in loop preceded by a variable [duplicate]
(5 answers)
Explanation of how nested list comprehension works?
(11 answers)
Closed 4 years ago.
I am trying to figure out what the subsequent lines of python code actually do:
if (var1 and var1) in [ctl for key, value in list(uof.items()) for ctl, com in list(cd.items()) if com == 'spain']:
my_var= uof_map[var1 ]
I assume it executes some kind of the following logic:
for key, values in list(uof.items()):
for ctl, com in list(values.items()):
if com == 'spain':
But apparently the results do differ. Can someone please point me into the right direction?
Notes:
uof is a dictionary of dictionaries
value is a dictionary

Related

Python sort function explanation [duplicate]

This question already has answers here:
What algorithm does Python's built-in sort() method use?
(2 answers)
What is `lambda` in Python code? How does it work with `key` arguments to `sorted`, `sum` etc.?
(4 answers)
Understanding the map function
(6 answers)
Closed 1 year ago.
I found the following line of code which I'm unable to google as it has a custom function. Can someone please explain this?
list.sort(key=lambda v: map(int, v.split('.')))
I know this sorts a list but I want to understand which sort is it and how it works.

I'm trying to append to a list in python but it gives back a NoneType [duplicate]

This question already has answers here:
Why does "x = x.append(...)" not work in a for loop?
(8 answers)
Closed 2 years ago.
This is my code but my output gives a none type back and not a list full of numbers.
PHC=[]
for i in range(len(df)):
x=df['HC'][0:i+1].mean()
PHC=PHC.append(x)
len[df]['HC']
instead of
len[df]

Python :error'list' object has no attribute 'sorted' [duplicate]

This question already has answers here:
Python list sort in descending order
(6 answers)
Closed 5 years ago.
This is my code:
#这是一个有关旅行的程序
place=['北京天安门','西安兵马俑','香港游乐园','日本秋叶原']
print(place)
print(sorted(place))
print(place)
place.sorted(reverse=true)
print(place)
When I run my code, something Wrong happens.
place.sorted(reverse=true)
or
sorted(place)
Using the 2nd way, how can I give (reverse=true)?
Just use sorted(place, reverse=True).

Slicing complex dictionary in python [duplicate]

This question already has answers here:
Iterating over dictionaries using 'for' loops
(15 answers)
Closed 5 years ago.
I want to be able to print out just a single character from this dictionary but I haven't been able to figure out the syntax or find it anywhere. Is there a way to do this in vanilla Python 2.7.x given the code below?
dct = {"c":[["1","1","0"],["0","0","0"]], "d":[["1","1","0"],["1","0","0"]],}
for x in dct:
print [x][0][0]
I want the output to be: 11
Any help is much appreciated!
for x in dct:
print(dct[x][0][0])

Python, can someone explain why the return statement only prints the first object? [duplicate]

This question already has answers here:
What does return mean in Python? [closed]
(2 answers)
Why is "None" printed after my function's output?
(7 answers)
Python: Why "return" won´t print out all list elements in a simple for loop and "print" will do it?
(4 answers)
Closed 5 years ago.
I have been practising python and have a small question. I am working with DNA sequences and so I simply wanted to make a small function that just returned the record.ids.
from Bio import AlignIO
my_alignment = Align.IO.read("multipleseqfile.fa","fasta")
def get_id_names(alignment):
for record in alignment:
return record.id
print get_id_names(my_alignment)
I had done a for loop before that prints the names nicely but I wanted to improve my script and make these exercises into functions. However, when I use this function, it only returns the first record id (and there is a list of 30-40). I switched the return record.id to print record.id, and it does print all the names but then I get a None at the end of the output. Not sure what is going on here?

Categories