How do I eliminate this deprecation warning?

I have the following in one of my playbooks:

- authorized_key: user=root key="$FILE(ssh/{{ item }}.pub)"
  with_items:
    - nolan

I'm now attempting to remove the deprecation warning on this. I tried:

- authorized_key: user=root key="{{lookup('file', 'ssh/{{item}}.pub')}}"
  with_items:
    - nolan

I also tried:

- authorized_key: user=root key="{{lookup('file', 'ssh/'+item+'.pub')}}"
  with_items:
    - nolan

Either I'm told that {{item}}.pub can't be found, or that ssh/.pub is
missing. Is it possible to refactor the play with the deprecated syntax?

Thanks.

{{ lookup('file', 'ssh/' + item + '.pub') }}

-- Michael

- authorized_key: user=root key="{{ lookup('file', 'ssh/'+item+'.pub') }}"
  with_items:
    - nolan

ERROR: /home/nolan/Projects/Infrastructure/roles/common/files/ssh/.pub
does not exist

What am I missing?

Additionally, I have the ssh directory in the root of my Ansible tree
alongside my roles directory. Will the lookup find them there? Not sure
if that's why they aren't being found now, but I'd expect the item to be
substituted in correctly either way.

Thanks.

You might have an empty string in your list

-- Michael

How would I find out? This worked just fine with the old syntax, so I'm
not sure why I'd have an empty string in one run and not in another,
when the with_items list remains unchanged.

Please show me where/how you are defining Nolan and we can get someone to see if they can reproduce this.