python - 我如何使用字符串索引来挑出多元素列表/或元组中的第一个字母
问题描述
我将如何创建一个函数,基本上只为我正在寻找的提供的字符串逻辑的每个元素挑选出一个特定的字符:
前任。在元素列表中,例如:
countries_and_capitals = (
['Afghanistan', 'Kabul'], ['Albania', 'Tirana (Tirane)'], ['Algeria', 'Algiers'], ['Andorra', 'Andorra la Vella'],
['Angola', 'Luanda'], ['Antigua and Barbuda', "Saint John's"], ['Argentina', 'Buenos Aires'],
['Armenia', 'Yerevan'])
我如何创建一个逻辑来仅显示 Capital 和 Country ex 的首字母相同的元素。阿尔及利亚,阿尔及尔。
解决方案
如果只使用First
字母来确定匹配,它可能也是loose
,并选择更多作为结果。例如:S outh Korea——首尔;或B elgium 到B russels。不确定这是可取的吗?即使它满足最初的要求。
因此,为了使此功能更具适应性 - 这只是将matching
标准作为一个字符作为默认值,但如果以后需要,可以更改以选择更多字符。
def find_same_name(lst, matching=1):
'''
find all matching capitals with Coutries, minimum matching is One char.
'''
# list comprehension
return [sub for sub in lst
if sub[0][:matching] == sub[1][:matching]] # can determine matched req.
运行它:
print(find_same_name(countries_and_capitals))
输出:
[['Algeria', 'Algiers'], ['Andorra', 'Andorra la Vella']]
推荐阅读
- haskell - 无法使用 cabal 编译 haskell 项目
- c++ - C++ 标准如何使用 memory_order_acquire 和 memory_order_release 防止自旋锁互斥锁中的死锁?
- r - 如何根据 R 中的多个条件创建新列?
- python - 为粗体/下划线字符串查找正确的正则表达式(Python)
- operating-system - 链接标准和自定义动态库有区别吗?
- javascript - 如何访问 iframe 的内部目录
- c - 如何在 C 中调用以下函数?
- html - 如何在页面左侧为我的博客创建侧边栏?
- android - 在 Android DUAL SIM 手机上检测 Sim1 或 Sim2 上的来电
- php - 如何处理长而复杂的 SQL 更新查询?