是否可以将列表中的数字列表解压缩到列表索引中?例如,我在列表中有一个列表,其中包含如下数字:
a = [[25,26,1,2,23], [15,16,11,12,10]]
Run Code Online (Sandbox Code Playgroud)
我需要把它们放在一个模式中,所以我做了这样的事情
newA = []
for lst in a:
new_nums = [lst[4],lst[2],lst[3],lst[0],lst[1]]
newA.append(new_nums)
print (newA) # prints -->[[23, 1, 2, 25, 26], [10, 11, 12, 15, 16]]
Run Code Online (Sandbox Code Playgroud)
所以我没有写作new_nums = [lst[4],lst[2],lst[3],lst[0],lst[1]],而是想把一个模式定义为一个被调用的列表pattern = [4,2,3,0,1],然后将它们解压缩到那些lst创建新顺序的索引中lst.
有没有一个很好的方法来做到这一点.
我想删除最初从列表中出现的零列表,但它通过我尝试的方法表现得很奇怪.
a = [0,0,0,0,0,0,0,0,3,4,0,6,0,14,16,18,0]
for i in a:
if i == 0: a.remove(i)
else: pass
print (a)
>>> [0, 3, 4, 0, 6, 0, 14, 16, 18, 0]
Run Code Online (Sandbox Code Playgroud)
但是我需要像这样的OUTPUT
[3,4,0,6,0,14,16,18,0]
并且还假设列表增长或减少,所以我不能保持零的范围并删除它们.我哪里错了.
我有一本字典,看起来像这样:
Dictionary<string, List<string>> dict = new Dictionary<string, List<string>>()
{
{"a" , new List<string> { "Red","Yellow"} },
{"b" , new List<string> { "Blue","Red"} },
{"c" , new List<string> { "Green","Orange"} },
{"d" , new List<string> { "Black","Green"} },
};
Run Code Online (Sandbox Code Playgroud)
我需要从dict其中的通用值List<string>应该是键,值应该是键的列表的字典输出。
例如:
Red: [a,b]
Green: [c,d]
Run Code Online (Sandbox Code Playgroud)
我不知道如何使用listin dictionaryas 解决此问题TValue。
请向我解释如何在字典中处理列表。
我试图检查两个列表,例如看起来像这样
list1 = {"br","je"};
list2 = {"banana", "bread", "jam", "brisket", "flakes", "jelly"};
Run Code Online (Sandbox Code Playgroud)
应该回来
{false, true, false, true, false, true}
Run Code Online (Sandbox Code Playgroud)
使用LINQ可以实现上述输出.我尝试过像这样的东西
public static IEnumerable<bool> ContainsValues(List<string> list1, List<string> list2)
{
List<bool> res = new List<bool>();
foreach (string item in list1)
{
foreach (string sub in list2)
{
res.Add(item.ToLower().Contains(sub.ToLower()));
}
}
return res;
}
Run Code Online (Sandbox Code Playgroud)