【问题标题】:inserting into a list but ensuring that there isnt multiple insertions in the list插入列表但确保列表中没有多次插入
【发布时间】:2018-06-20 06:51:42
【问题描述】:

我一直在尝试创建一段代码,该代码从 excel 文件中获取数据,然后将其添加到列表中,但只有一次。所有其他时间都应该被忽略,我设法获得了我需要的所有数据,只需要知道如何弹出不需要的重复项。还想知道我是否应该在字典中这样做以及如果我这样做会如何完成

for cellObj in rows:<br>
    Lat = str(cellObj[5].value)<br>
    if 'S' in Lat:<br>
        majorCity.append(str(cellObj[3].value))<br>
        print(majorCity)<br>
    elif majorCity == majorCity:<br>
       majorCity.pop(str(cellObj[3].value))<br>

【问题讨论】:

  • 试试set 对象
  • 你会如何在 mate 中写这个?
  • @f5r5e5d set 是一个无序的数据结构。 Nick,您的输入和预期输出是什么?
  • 输入来自 excel 文件中的纬度坐标列,我已将其设置为输出所属国家/地区,只是得到类似 ['sydney']、['sydney'] 的输出,['sydney'] 但希望各取一
  • '贝洛奥里藏特','贝洛奥里藏特','贝洛奥里藏特','贝洛奥里藏特',

标签: python list dictionary append


【解决方案1】:

您可以使用set(),它会从序列中删除重复项。

a= set()
a.add("1")
a.add("1")
print a

输出:

set(['1'])

【讨论】:

    【解决方案2】:

    set 确实是这样做的好方法:

    >>> my_list = [1,1,2,2]
    >>> my_list_no_dups = list(set(my_list))
    >>> my_list_no_dups
    [1, 2]
    

    但它不一定会保留列表的顺序。如果您确实关心订单,可以这样做:

    my_list_no_dups = []
    for item in my_list:
        if item not in my_list_no_dups:
            my_list_no_dups.append(item)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-06
      • 1970-01-01
      相关资源
      最近更新 更多