如何阻止字符串在数组中重复?

时间:2018-03-23 22:47:11

标签: python arrays beautifulsoup

我有一系列字符串(股票代码符号),我已经从twitter中删除了。我从一个人的饲料中搜集股票代码符号,但是,有时饲料将有多条关于同一股票代码的推文,因此会在我的数组中重复多次。如何阻止股票代码在我的数组中重复?

这是我的代码

['AYTU', 'AYTU', 'AYTU', 'AYTU', 'INDU', 'JPM', 'BAC', 'INPX', 'MSFT', 'SPX', 'HMNY', 'YTEN', 'INPX', 'MACK', 'KDMN', 'AMBA', 'KDMN', 'KDMN', 'MACK']

这是打印出来的内容

<Grid>
    <Grid.Style>
        <Style TargetType="{x:Type Grid}">
            <Style.Triggers>
                <DataTrigger Binding="{Binding IsBusy}" Value="true">
                    <Setter Property="Cursor" Value="Wait" />
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </Grid.Style>

<!-- ... --> 

    <Button Command="{Binding DoMethod}" />
</Grid>

3 个答案:

答案 0 :(得分:1)

使用set comprehension代替您正在使用的list comprehension

tweets = {i.text for i in soup.select('a.twitter-cashtag.pretty-link.js-nav b')}

如果您需要,可以使用下面的代码将set转换为list

tweets = list(tweets)

答案 1 :(得分:0)

您可以使用空字典。

在循环中,您可以执行检查:

如果字典不包含当前元素的键,则将其插入到推文和字典中。

答案 2 :(得分:0)

您可以对for循环的每次迭代进行简单检查:

tweets = []
for i in soup.select('a.twitter-cashtag.pretty-link.js-nav b'):
    if i.text not in tweets:
        tweets.append(i.text)
print(tweets)