标签: list

“平”列表,包含列表列表到列表列表

这个问题不同于将列表/嵌套列表转换为不嵌套的列表(这会产生一组非常具体的响应,无法解决我的情况),也不同于许多“列表的扁平列表”答案。

我要列出一个列表,其中一些又是列表列表,然后“拉平”到列表列表(而不仅仅是列表!)。

作为一个具体的例子,我想从这里开始:

my_list_of_lists = [[1, 2, 3], [[9, 10], [8, 9, 10], [3, 4, 6]], [11, 12, 13]]
Run Code Online (Sandbox Code Playgroud)

对此

target_list_of_lists = [[1, 2, 3], [9, 10], [8, 9, 10], [3, 4, 6], [11, 12, 13]]
Run Code Online (Sandbox Code Playgroud)

(从视觉上讲,我想将外部列表中的所有[[]] 内部分别转换为[]。)

python list

3
推荐指数
1
解决办法
125
查看次数

IF语句不适用于列表差异

尝试使用下面的代码获取两个列表之间的差异的结果,但似乎不起作用。

list1 = ['one', 'two', 'three']
list2 = ['one', 'two', 'three', 'four']


list3 = list(set(list1) - set(list2))

if not list3: #if not empty, print list3
  print(list3)
else: # if empty print none
  print("None")
Run Code Online (Sandbox Code Playgroud)

python django list

3
推荐指数
1
解决办法
75
查看次数

了解保护功能和列表理解

我正在guard从“学习Haskell带来的好处!”一书中学习该功能。由Miran Lipovaca撰写。

对于以下示例:

ghci> [1..50] >>= (\x -> guard('7' `elem` show x) >> return x)
[7, 17, 27, 37, 47]
Run Code Online (Sandbox Code Playgroud)

我知道这guard需要布尔值,如果值是True,则guard ()将其放在最小的默认上下文中并成功。如果值为False,则guard产生失败的一元数值。

但是,我不明白在上面的示例中guard是如何工作的,以创建结果列表[7, 17, 27, 37, 47]x在lambda函数中传递的是1吗?此外,如果('7' `elem` show x)计算结果为False,则不会返回空列表吗?最终结果列表的准确度如何?

monads haskell list-comprehension list guard-statement

3
推荐指数
1
解决办法
55
查看次数

我如何称呼也支持举重的Monoid?

我的意思是像列表这样的设备:

mempty = [ ]
lift x = [x]
mappend = (++)
Run Code Online (Sandbox Code Playgroud)

仅仅是IsList吗?

haskell list monoids

3
推荐指数
1
解决办法
128
查看次数

C#重写List <T>添加方法以检查列表是否为空

我想弄清楚这是否可行/使其正确运行的正确语法。null在属性级别添加新项目时,我想对列表进行检查,而不是null每次去列表中添加项目时都要进行检查。例如:

MyClass someClass = new MyClass()
{
    MyClassID = 1,
    Notes = null
};

//
//

Note newNote = new Note()
{
    NoteID = 1,
    Text = "Test note"
};

someClass.Notes.Add(newNote); // This line will throw an error because 
                              //      someClass.Notes is null
Run Code Online (Sandbox Code Playgroud)

我想通过执行以下代码来解决此问题。但是,我不知道是否/什么语法使之成为可能。

public class MyClass
{
    public int MyClassID { get; set; }
    public List<Note> Notes
    {
        get; set;

        public void Add(Note note)
        {
            if (this.Notes == null)
                this.Notes = new List<Note>();

            this.Notes.Add(note);
        } …
Run Code Online (Sandbox Code Playgroud)

c# overriding list

3
推荐指数
2
解决办法
114
查看次数

根据列表中的值获取字典的键

我有一个值列表:

['A','B','C','D']
Run Code Online (Sandbox Code Playgroud)

我有一个命令

{1: ['A','F'],2:['B','J'],3:['C','N'],4:['D','X']}
Run Code Online (Sandbox Code Playgroud)

我想获取列表中每个值的键:

我试过了 :

[dict1[x] for x in list]
Run Code Online (Sandbox Code Playgroud)

但是输出错误是因为我没有考虑dict值是一个列表而不是单个值的事实。我怎样才能做到这一点?

我想要的输出将是带有list1值键的列表:

[1,2,3,4]
Run Code Online (Sandbox Code Playgroud)

python dictionary list

3
推荐指数
1
解决办法
31
查看次数

Python3-计算两个列表之间每对的出现次数

我有两个列表,例如:

lst1 = [0, 2, 4, 5, 5, 6, 5, 2]
lst2 = [1, 3, 7, 9, 9, 11, 8, 3]
Run Code Online (Sandbox Code Playgroud)

对于相同索引的元素,我想计算它们在一起出现的次数,因此结果应该类似于字典:

{ [0, 1] : 1,
  [2, 3] : 2,
  [4, 7] : 1,
  [5, 9] : 2,
  [6, 11] : 1,
  [5, 8] : 1 }
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点而无需循环,可以很好地扩展?我需要针对非常大的列表(每个〜20k元素)运行它。

python list python-3.x

3
推荐指数
1
解决办法
85
查看次数

vb.net中的简化列表初始化

有什么方法可以简化List初始化以消除重复New MyObject() With以及类似的参数名称Value1?我需要创建包含50个对象的列表,因此需要重复很多,可能是不必要的代码。

我使用最新的Visual Studio 2019(16.2.3)。

Public Class MyObject
    Public Property Value1 As Int32
    Public Property Value2 As Int32
End Class

Dim Test As New List(Of MyObject) From {
    New MyObject() With {.Value1 = 1, .Value2 = 1},
    New MyObject() With {.Value1 = 2, .Value2 = 2},
    New MyObject() With {.Value1 = 3, .Value2 = 3}
}
Run Code Online (Sandbox Code Playgroud)

vb.net list

3
推荐指数
1
解决办法
52
查看次数

根据最大值的长度从python列出的字典中查找项目?

假设我有一个像这样的字典:

dicl = {'amazon': [668, 667, 879], 'flipkart': [678], 'hey': [89,79]}
Run Code Online (Sandbox Code Playgroud)

我想根据项目长度的降序打印字典项目。

我想要的输出:

{'amazon' : 3, 'hey' : 2, 'flipkart' : 1}
Run Code Online (Sandbox Code Playgroud)

但是我按项目的排序顺序获得结果,而我想根据项目的降序显示项目?

我尝试过的

cov_m = {k : len(v) for k, v in sorted(dicl.items())}
Run Code Online (Sandbox Code Playgroud)

电流输出:

{'amazon' : 3, 'flipkart' : 1, 'hey' : 2}
Run Code Online (Sandbox Code Playgroud)

python dictionary list set python-3.x

3
推荐指数
1
解决办法
84
查看次数

Python元组排序列表按值反向和按密钥非反向(两种不同方式)

标题很混乱,但问题很简单。

说我有一个像这样的元组列表:

d = [('said', 12), ('that', 12), ('electricity', 11), ('was', 10), ('the', 51), ('zealand', 9), ('for', 13), ('new', 12), ('power', 14), ('transmission', 14), ('and', 9)]
Run Code Online (Sandbox Code Playgroud)

我想对列表进行排序,以便按值降序对其进行排序。但是,我希望领带按键字母顺序排序。

即,对于上面的列表,“新西兰”和“和”都具有相同的值。但是在排序的列表输出中,我希望“和”出现在“新西兰”之前。

我试着做

d.sort(key=operator.itemgetter(1, 0), reverse=True)
print(d)
Run Code Online (Sandbox Code Playgroud)

这给了我输出

[('the', 51), ('transmission', 14), ('power', 14), ('for', 13), ('that', 12), ('said', 12), ('new', 12), ('electricity', 11), ('was', 10), ('zealand', 9), ('and', 9)]
Run Code Online (Sandbox Code Playgroud)

但是,元组('zealand', 9)出现('and', 9)在现实中之前,而我想出('and', 9)现在之前,('zealand', 9)因为“和”按字母顺序在“新西兰”之前。

什么是做这种类型的排序的最佳方法,在这种排序中,值的一个方向是反向的,而键的方向不是反向。

如果您需要更多信息,请告诉我。

感谢您的时间。

python sorting tuples list

3
推荐指数
1
解决办法
74
查看次数