list 相关问题

列表标签可以指代:链表(有序的节点集,每个节点引用其后继节点)或动态数组的形式。不要用于HTML列表,而是使用[html-lists]。

创建超出 1 到 15 数据范围的嵌套楼梯列表

输入: 数据 = [15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1] 预期输出 需要帮助: 输出应如下所示: [15] [14, 13] [12,11,10] [9,8,7,6] [5,4,3,2,1]

回答 2 投票 0

有没有办法隐藏 Microsoft 列表上的“+ 添加列”?

我有一个 Microsoft 列表,其中有一个视图,我想在其中隐藏最右侧的列“+ 添加列”,但我不知道如何隐藏它? (下图中的框内) 有没有人能...

回答 1 投票 0

在 Python 中分类变量可视化中处理长类别名称

我正在使用包含分类变量的 pandas DataFrame,其中一些变量具有长名称的值。但是,我的一些分类特征的值名称很长,导致

回答 1 投票 0

如何计算列表列行之间的公共元素

是否可以计算列表列中、方法链中的一行和上一行之间的公共项的数量? 我下面的代码抛出错误 'TypeError: unhashable type: 'list'' ...

回答 1 投票 0

如何限制群组?

这是我学习Python的第一天,也是我的第一个项目。所以我的数据中有 62 个项目,希望它随机挑选出其中的 48 个,并将它们随机放入 4 个一组中。所以总共...

回答 1 投票 0

在嵌套列表中搜索

我有一个列表>,其中有一些列表,它填充在foreach循环中。因此,在创建新列表之前,我需要检查某些值是否已存在于任何...

回答 2 投票 0

Python += 和 + 运算符与列表的区别

我观察到在列表中使用 += 和 + 运算符时 Python 的行为存在差异。考虑以下代码片段: x = [1, 2] y = x x += [3] y += [4] print(x is y) # 输出是 Tr...

回答 1 投票 0

尝试迭代列表时出现索引错误

我刚刚完成在线哈佛 CS50P 课程,对于我的第一个项目,我正在尝试开发一个计算多项式函数 y 值的程序。我知道我的代码可能很糟糕

回答 1 投票 0

如何用coq来证明这第n题和第n题?

定理 fiset_ref_fact : forall (r r' n : nat) (f f' D g g' h h' : list nat) (bb' : bool), 长度 f = n /\ n > 0 /\ r < n /\ h = firstn r f /\ h' = (app h ((nth r f 0)::nil)) /\ r' = ...

回答 1 投票 0

如何将 list[int, int, int] 转换为 tuple[int, int, int] 而不是 tuple[int, ...]

假设我有2个函数,func1和func2。 func1 返回 3 个整数的列表,func2 接受 3 个整数的元组,我如何将列表转换为元组,以防止错误......

回答 2 投票 0

转换为 numpy 数组的元组列表

我有一个元组列表,其中一个是对象,另一个是通用的。当我运行 np.asarray(list_in) 时,结果是一个二维数组,元组连续转换。不过我会...

回答 2 投票 0

如何将计数器集合转换为列表

我需要将计数器集合的输出转换为列表 我的计数器输出是: 计数器({2017: 102, 2018: 95, 2015: 87,}) 我想把它转换成这样的东西: [[年份,国家...

回答 3 投票 0

Python 将 Counter 对象转换为序数列表

我认为这应该有一个相对简单的解决方案。 我有一个 Counter 对象,我想从中创建一个由整数组成的列表,这些整数表示 Counter 中每个键的序数值...

回答 2 投票 0

使用 LINQ to CSV 合并两个文件的内容

这可能是一个愚蠢的问题,但我想知道如何使用 CSV 文件的以下数据填充列表。 这是到目前为止的代码, 班级信息 { [CsvColumn(名称 = "租赁名称", 字段...

回答 3 投票 0

即使使用某些值初始化,python dict 也会给出关键错误

数据={} 织女星={} 对于 ['BTC'] 中的硬币: vega[硬币] = {} 数据[硬币] = {} 数据[硬币]['列']=['27-Apr-24', '28-Apr-24', '29-Apr-24', '03-May-24', '10-May-24' , '24 年 5 月 17 日', '24 年 5 月 31 日'] ...

回答 2 投票 0

如何组合两个列表,删除重复项,而不改变列表的元素顺序?

我想合并两个列表并删除重复的值。 假设我有两个列表: lst1 = [23,15,46,76,45] lst2 = [43,32,15,49,45,10] 我想输出: 结果 = [23,15,46,76,45,43,32,49,10] 在

回答 8 投票 0

从字符串中删除数字

有一个包含数字列表的文件。 例子: AK 0.00° 0.00 0.00 0.00 0.00 0.00 0.00 750.00 0.00 0.00 0.00 0.00 ...

回答 1 投票 0

如何在C#中打印List<string>类型的对象

我是c#新手,我想打印List类型的对象。如何打印该对象并在控制台中显示列表? 下面是我的代码: 课程计划{ 公共列表 GetPowersOf...

回答 5 投票 0

List<T>.AddRange 在传递 ConcurrentDictionary 作为参数时抛出 ArgumentException

今天我怀疑 List.AddRange 方法使用并发集合作为参数可能不安全,所以我做了一个实验来找出答案: 并发词典 今天我怀疑 List<T>.AddRange 方法使用并发集合作为参数可能不安全,所以我做了一个实验来找出答案: ConcurrentDictionary<int, int> dictionary = new(); for (int i = 1; i <= 50_000; i++) dictionary.TryAdd(i, default); List<KeyValuePair<int, int>> list = new(); Thread thread = new(() => { for (int i = -1; i >= -50_000; i--) dictionary.TryAdd(i, default); }); thread.Start(); list.AddRange(dictionary); // Throws thread.Join(); Console.WriteLine($"dictionary.Count: {dictionary.Count:#,0}, list.Count: {list.Count:#,0}"); 在线演示. ConcurrentDictionary 用 50,000 个正键初始化。然后在另一个线程上添加 50,000 个额外的负键,同时使用 AddRange 方法将字典添加到列表中。我预计最终字典将有 100,000 个键,列表将包含 50,000 到 100,000 个项目。事实上我得到了一个ArgumentException: Unhandled exception. System.ArgumentException: The index is equal to or greater than the length of the array, or the number of elements in the dictionary is greater than the available space from index to the end of the destination array. at System.Collections.Concurrent.ConcurrentDictionary`2.System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.CopyTo(KeyValuePair`2[] array, Int32 index) at System.Collections.Generic.List`1.InsertRange(Int32 index, IEnumerable`1 collection) at System.Collections.Generic.List`1.AddRange(IEnumerable`1 collection) at Program.Main() 我的问题是:为什么会发生这种情况,我该如何防止它发生?有什么方法可以确保 list.AddRange(dictionary); 行始终成功,不会抛出异常? 想象一下,这本字典可能是作为 IEnumerable<T> 提供给我的,而我不知道它的底层类型。在这种情况下也会引发相同的异常: IEnumerable<KeyValuePair<int, int>> enumerable = dictionary; list.AddRange(enumerable); // Throws 这种行为降低了我对使用 List<T>.AddRange API 的信心。 上下文:this问题中提到了类似的症状,但没有提供最小且可重现的示例,因此我不确定情况是否相同。另一个相关的问题是 this,关于在 ToList 上调用 LINQ ConcurrentDictionary<TKey, TValue>。尽管如此,文档 警告 关于在并发集合上使用扩展方法,但我是没有看到任何关于使用并发集合与 List<T>.AddRange 方法的警告。 发生的事情相当简单。 List<T>.AddRange 有一个检查,看看它传递的东西是否是 ICollection<T>。如果是这样,它可以通过使用 ICollection<T>.Count 一次性为新范围分配足够的空间(而不是可能多次调整列表大小)和 ICollection<T>.CopyTo 一次性复制集合的元素而不是添加它们来进行优化一对一。 代码是这里: if (collection is ICollection<T> c) { int count = c.Count; if (count > 0) { if (_items.Length - _size < count) { Grow(checked(_size + count)); } c.CopyTo(_items, _size); _size += count; _version++; } } ConcurrentDictionare<TKey, TValue>实现了ICollection<KeyValuePair<TKey, TValue>>,并且它的Count和CopyTo的实现本身是安全的,但它们之间没有固有的同步。 因此 List<T>.AddRange 向字典询问其大小,分配该数量的新元素,然后要求字典将自身复制到新分配的空间中。然而,字典到那时已经增长了,并抛出异常here: int count = GetCountNoLocks(); if (array.Length - count < index) { throw new ArgumentException(SR.ConcurrentDictionary_ArrayNotLargeEnough); } 至于谁应该“怪罪”这里,我不确定。 List<T> 所做的优化在大多数情况下都是明智的,并且作为一个非线程安全集合,它并不试图成为线程安全的。 ConcurrentDictionary 正在尽可能地实现 ICollection<T>,并且如果要求复制到的空间不够大,ICollection<T>.CopyTo 会被 记录为抛出。

回答 1 投票 0

List<T> AddRange 抛出 ArgumentException

我有一个特定的方法,偶尔会因 ArgumentException 而崩溃: 目标数组不够长。检查 destIndex 和长度,以及数组的下限: 在 System.Array...

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.