我需要编写一个函数来创建第一次出现的字母的元组列表,然后是列表列表中的行和列。
示例输入和输出:
#Input:
lot2 = [['.','M','M','H','H'],
['A','.','.','.','f'],
['B','C','D','.','f']]
#Output: [('M', 0, 1), ('H', 0, 3), ('f', 1, 4), ('B', 2, 0)]
正如您所看到的,该函数应该只查找第一个出现的字母而不是所有出现的字母。谢谢你的帮助。
代码:
letter = '.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
def list_cars(lst):
for y, row in enumerate(lst):
if letter in row:
return letter, y, row.index(letter)
答案 0 :(得分:0)
首先,使用字符串库获取所有大写和小写字母的字符串:
import string
string.ascii_letters
Out[40]: 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
collector = []
output_list = []
for i in lot2:
for j in i:
if j in string.ascii_letters and j not in collector:
tmp = (j,lot2.index(i), i.index(j))
output_list.append(tmp)
collector.append(j)
output_list应该可以提供你想要的东西。
编辑:如果你想捕获全站点使用string.printable - 虽然这会给你一个字符串,其中包含额外的标点符号和空格字符。