Python 3.9
cards = ['♥️A','♠️2','♣️3']
ref_list = ['A','2','3']
for a in cards:
print(a[1:])
print(a[1:] in ref_list)
输出是
A
False
️2
False
️3
False
我应该如何修改代码以使其工作?(使输出True
?(
欢迎来到Unicode的世界!
>>> len('♥️A')
3
>>> [hex(ord(c)) for c in '♥️A']
['0x2665', '0xfe0f', '0x41']
>>> '♥️A'[0:1]
'♥'
>>> '♥️A'[0:2]
'♥️'
此字符串中的红心由黑心套装和变体选择器代码点组成,因此您的完整字符串有3个代码点。
考虑不使用字符串串联来表示此数据,而是定义一个数据类或至少一个类似('♥️', 'A')
的元组。