检查项目是否以元组中的符号开头 Python

check if an item starts with a symbol in a tuple Python

a = {
    'a' : [
        ('a', '"Folks marched & protested for our right to vote." --@FLOTUS\n', 1477610322, 'TweetDeck', 545, 226),
        ('a', '"We urge voters to dump Trump" --@DenverPost', 1476205194, 'TweetDeck', 7165, 2225)
        ],
    'b:' : [
        ('b:', 'Join me in #Atlanta November 2. Details-  #YouIn? #JohnsonWeld\n', 1478034098, 'Hootsuite', 108, 51)
        ]
    }

for key, value in a.items():
    for item in value:
        #extract string beginning with #'s with the user (the users are a and b)

我正在尝试从元组中提取带有指定用户的主题标签。我只知道 startswith 方法,但你不能将它用于元组。

您可以使用 split 方法拆分字符串,该方法默认按空格拆分:

s = 'Join me in #Atlanta November 2. Details-  #YouIn? #JohnsonWeld\n'
s.split() 
# ['Join', 'me', 'in', '#Atlanta', 'November', '2.', 'Details-', '#YouIn?', '#JohnsonWeld']

然后您可以在每个结果元素上使用 startswith 来检查它是否是标签,在列表理解中:

[tag for tag in s.split() if tag.startswith("#")]
# ['#Atlanta', '#YouIn?', '#JohnsonWeld']

您可以将其封装在函数中以提高代码的可读性:

def get_hashtags_from_string(s):
    return [tag for tag in s.split() if tag.startswith("#")]