使用 enumerate() 枚举包含字母而非数字的项目
Using enumerate() to enumerate items with letters rather than numbers
我正在尝试使用内置函数 enumerate() 来标记一些点或顶点,其中每个点都由其在元组列表(或集合)中的坐标表示,基本上看起来像 {(4,5), (6,8), (1,2)}
我想将一个从 "a" 开始的字母按升序分配给这个集合中的每个元组,使用 enumerate()
做的完全一样但是它的写法是 returns 每个项目的索引值,以便它是从 0 开始的数字。
除了自己写 enumerate()
之外,还有什么方法可以做到吗?
也许这是获得您想要的东西的一种方式,使用 chr()
:
L = [(4,5), (6,8), (1,2)]
for k, v in enumerate(L):
print(chr(65 + k), v)
输出:
A (4, 5)
B (6, 8)
C (1, 2)
这是enumerate
的签名。
enumerate(iterable, start=0)
使用 start
作为 'A'
的 65 和 'a'
的 97。
lst=[(1,2),(2,3),(3,4),...]
for idx,val in enumerate(lst,65):
print(chr(idx),val)
A (1, 2)
B (2, 3)
C (3, 4)
看看这个:
import string
tup = {(4,5), (6,8), (1,2)}
dic = {i: j for i, j in zip(string.ascii_lowercase, tup)}
这个returns:
{'a': (4, 5), 'b': (6, 8), 'c': (1, 2)}
枚举函数定义如下:
enumerate(iterable, start=0)
我认为只需要编写自己的枚举或围绕枚举的包装。
我正在尝试使用内置函数 enumerate() 来标记一些点或顶点,其中每个点都由其在元组列表(或集合)中的坐标表示,基本上看起来像 {(4,5), (6,8), (1,2)}
我想将一个从 "a" 开始的字母按升序分配给这个集合中的每个元组,使用 enumerate()
做的完全一样但是它的写法是 returns 每个项目的索引值,以便它是从 0 开始的数字。
除了自己写 enumerate()
之外,还有什么方法可以做到吗?
也许这是获得您想要的东西的一种方式,使用 chr()
:
L = [(4,5), (6,8), (1,2)]
for k, v in enumerate(L):
print(chr(65 + k), v)
输出:
A (4, 5)
B (6, 8)
C (1, 2)
这是enumerate
的签名。
enumerate(iterable, start=0)
使用 start
作为 'A'
的 65 和 'a'
的 97。
lst=[(1,2),(2,3),(3,4),...]
for idx,val in enumerate(lst,65):
print(chr(idx),val)
A (1, 2)
B (2, 3)
C (3, 4)
看看这个:
import string
tup = {(4,5), (6,8), (1,2)}
dic = {i: j for i, j in zip(string.ascii_lowercase, tup)}
这个returns:
{'a': (4, 5), 'b': (6, 8), 'c': (1, 2)}
枚举函数定义如下:
enumerate(iterable, start=0)
我认为只需要编写自己的枚举或围绕枚举的包装。