编辑:编辑错别字;字典的键值应该是字典,而不是集合。
不过,我会在这里保留拼写错误,因为下面的问题解决了这个问题。对于造成的混乱,我深表歉意。
问题是这样的:
假设我有一个永远不会重复的整数列表:
list1 = [2, 3]
Run Code Online (Sandbox Code Playgroud)
在这种情况下,有一个唯一的对 2-3 和 3-2,所以字典应该是:
{2:{3: 1}, 3:{2: 1}}
Run Code Online (Sandbox Code Playgroud)
即有1对2-3和1对3-2。
对于较大的列表,配对是相同的,例如
list2 = [2, 3, 4]
Run Code Online (Sandbox Code Playgroud)
有词典
{2:{3: 1}, 3:{2: 1}, 3:{4: 1}, 4:{3: 1}, 2:{4: 1}, 4:{2: 1}}
Run Code Online (Sandbox Code Playgroud)
(1) 一旦列表的大小变得很大,如何使用 python 数据结构通过算法找到这种格式的“唯一对”?
(2) 我提到列表不能有重复整数,例如
[2, 2, 3]
Run Code Online (Sandbox Code Playgroud)
这是不可能的,因为有两个2。
然而,人们可能有一系列的列表:
list3 = [[2, 3], [2, 3, 4]]
Run Code Online (Sandbox Code Playgroud)
因此字典必须是
{2:{3: 2}, 3:{2: 2}, 3:{4: 1}, 4:{3: 1}, 2:{4: 1}, 4:{2: 1}}
Run Code Online (Sandbox Code Playgroud)
因为有两对 2-3 和 3-2。给定列表中的多个列表,如何“更新”字典?
这是一个算法问题,我不知道最有效的解决方案。我的想法是以某种方式缓存列表中的值并枚举对......但这会很慢。我猜有一些有用的东西itertools。
在下面的代码中,queryResult是一个嵌套列表。嵌套列表意味着所有列表值都有另一个列表。
喜欢:
[(1024, jkhsa97890),(1025, khka65757),(1025, kjhaksd87987), ....]
Run Code Online (Sandbox Code Playgroud)
因此,在第一个循环中,我们从记录中获取列表queryResult并将它们存储在记录中。
存储在记录中的数组:
(1024, jkhsasa97890)
(1025, khkaada65757)
(1025, kjhaksd87987)
....
Run Code Online (Sandbox Code Playgroud)
然后,通过 中列表中的第二个 for 循环record,我们获取值,然后dictionary通过为每个值提供键将其复制到 a 。
但错误发生在value4['videoid'] = item[0]。是value4['videoid']字典键,item[0]是一个整数,第一次迭代的值为 1024。
类似地,value4['videokey']是字典键,item[1]是字符串,对于第一次迭代,它是jkhsasa97890等等。
代码:
value4 = dict()
for record in queryResult:
for item in record:
value4['videoid'] = item[0]
value4['videokey'] = item[1]
Run Code Online (Sandbox Code Playgroud)
错误:
Traceback (most recent call last):
File "E:\demo.py", line 118, in <module>
value4['videoid'] = item[0] …Run Code Online (Sandbox Code Playgroud) 我正在尝试将嵌套列表转换为数据框。我想从 3 维获取数据框。到目前为止我用计数器指定i将嵌套列表的哪个维度作为数据帧,但我想从维度 1、2 和 3 获取数据帧。
感谢您的帮助
l <- list(list(list(x = 1, y = 2, 3, 4),
list(x = 3, y = 4, 5, 6)),
list(list(x = 1, y = 2, 3, 4)),
list(list(x = 2, y = 3, 4, 5)))
i = 3
a <- data.frame(do.call(rbind, l[[i]]))
Run Code Online (Sandbox Code Playgroud) 可能重复:
Python列表追加行为
为什么这段代码:
x = [[]]*3
x[0].append('a')
x[1].append('b')
x[2].append('c')
x[0]=['d']
print x
Run Code Online (Sandbox Code Playgroud)
打印[['d'],['a','b','c'],['a','b','c']]?
如何将列表添加到另一个列表,例如:
List<string> list = new List<string>();
Run Code Online (Sandbox Code Playgroud)
我想将此列表添加到另一个列表中,例如:
List<List> list2 = new List<List>()
Run Code Online (Sandbox Code Playgroud) 我有一个主List来存储可以随时添加到主List的不同列表.我遇到的问题是从主列表中的列表中删除相同的值.例如:
初步清单清单:
[[('not', ('box', 'p')), ('diamond', 'p'), ('box', 'q'), ('diamond', 'q'),
('diamond', 'r')], [('not', 'p'), 'q'], ['p', 'q'], ['q', 'q'],
['r', 'q']]
Run Code Online (Sandbox Code Playgroud)
期望的回报:
[[('not', ('box', 'p')), ('diamond', 'p'), ('box', 'q'), ('diamond', 'q'),
('diamond', 'r')], [('not', 'p'), 'q'], ['p', 'q'], ['q'], ['r', 'q']]
Run Code Online (Sandbox Code Playgroud)
第二个例子
初始:
[[('not', ('box', 'p')), ('diamond', 'p'), ('box', 'q'), ('diamond', 'q'),
('diamond', 'q')], [('not', 'p'), 'q'], ['p', 'q'], ['q', 'q'],
[('not', r'), 'q']]
Run Code Online (Sandbox Code Playgroud)
返回
[[('not', ('box', 'p')), ('diamond', 'p'), ('box', 'q'), ('diamond', 'q')],
[('not', 'p'), 'q'], ['p', 'q'], …Run Code Online (Sandbox Code Playgroud) 我在处理一对长列表对的最大值时遇到了一个非常奇怪的问题,例如
[
[(0, 1), (1, 1), (2, 1), (3, 4), (4, 1), (5, 1), (6, 1),...,(141,3)],
...,
[(12, 1), (36, 1), (91, 1), (92, 1), (110, 1),..., (180, 1)]
]
Run Code Online (Sandbox Code Playgroud)
我试图获得所有对中第一个元素的最大值.从语法上说,我在做:
max([max(x) for x in list])[0]
Run Code Online (Sandbox Code Playgroud)
实际上返回正确的数字,如果列表短于281个列表.事实上,一旦列表超过280,我就会收到此消息
ValueError: max() arg is an empty sequence
Run Code Online (Sandbox Code Playgroud)
所以,一长串清单
max([max(x) for x in list[0:280]])[0]
Run Code Online (Sandbox Code Playgroud)
这很好,而
max([max(x) for x in list[0:281]])[0]
Run Code Online (Sandbox Code Playgroud)
休息.
我在这里做错了吗?
我正在尝试从现有列表创建一个新列表。我试图从内部列表中选择前 N 个值并输出一个新的列表列表。当前列表如下所示:
[[('with', -3.608809242675524),
('cruz', -3.6553518286125546),
('rt', -2.962847001582534)],
[ ('his', -2.9577717646107025),
('is', -2.9627189839205403),
('to', -2.968666793195209)]]
Run Code Online (Sandbox Code Playgroud)
现在我想将其作为输入并输出每个列表中的前 1 个元素。真正的列表更长,有 2 个以上的列表,我想取前 N 个元素。输出应如下所示:
[[('with', -3.608809242675524)],
[('his', -2.9577717646107025)]]
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激!
我试图转换为字典的嵌套列表如下所示:
my_dict = {}
book_ratings = [["Ben"],["5", "0", "1", "4"], ["Sally"],["0", "7", "3", "3"]]
Run Code Online (Sandbox Code Playgroud)
我试图返回名称 ["Ben"], ["Sally"] 作为键和评级 ["5","0","1","4"], ["0","7" ,"3","3"] 作为值。
希望输出:
{"Ben": ["5," "0", "1", "4"], "Sally": ["0", "7", "3", "3"]}
Run Code Online (Sandbox Code Playgroud) 这是我拥有的清单列表
[[3, 2, 1, 2, 2, 3, 1], [3, 4, 2, 3, 1, 3, 2], [1, 2, 4, 1, 2, 4, 1], [3, 4, 3, 1, 4, 1, 2], [3, 1, 4, 1, 2, 3, 4], [3, 1, 3, 3, 2, 4, 1], [3, 2, 1, 2, 2, 3, 1], [3, 2, 1, 2, 2, 3, 1], [3, 2, 1, 2, 2, 3, 1], [3, 2, 1, 2, 2, 3, 1], [1, 2, 1, 2, 2, 3, 1], [4, 3, …Run Code Online (Sandbox Code Playgroud) 当前,我的列表全部折叠,但是它们链接到一个状态为“打开”,因此,如果我打开一个列表,则所有其他列表都打开。保持崩溃彼此独立而不对每个列表使用很多状态的最佳方法是什么。
编辑:该应用程序正在经历无限循环
App.tsx
interface IState {
error: any,
intro: any,
threads: any[],
title: any,
}
export default class App extends React.Component<{}, IState> {
constructor (props : any) {
super (props);
this.state = {
error: "",
intro: "Welcome to RedQuick",
threads: [],
title: ""
};
this.getRedditPost = this.getRedditPost.bind(this)
this.handleClick = this.handleClick.bind(this)
}
public getRedditPost = async (e : any) => {
e.preventDefault();
const subreddit = e.target.elements.subreddit.value;
const redditAPI = await fetch('https://www.reddit.com/r/'+ subreddit +'.json');
const data = await redditAPI.json();
console.log(data);
if (data.kind) …Run Code Online (Sandbox Code Playgroud) 具体来说,我有一个像这样的列表:[[1,2,3], [4,5,6], [7,8,9], [10]]并且我想像这样打印出来:
1 2 3
4 5 6
7 8 9
10
Run Code Online (Sandbox Code Playgroud)
我认为这样的事情会非常有效:
1 2 3
4 5 6
7 8 9
10
Run Code Online (Sandbox Code Playgroud)
但在非常大的情况下,它并不像我希望的那样有效。我正在处理数千个子列表,每个子列表本身都有数千个数字长。
我可以已经处理了子列表,因此数字是字符串或整数,这部分并不重要。我只需要我的代码运行得更快,而目前,打印是花费时间最长的。
nested-lists ×12
python ×9
list ×6
dictionary ×3
python-3.x ×3
arrays ×1
c# ×1
collapse ×1
dataframe ×1
duplicates ×1
logic ×1
loops ×1
material-ui ×1
max ×1
numpy ×1
performance ×1
printing ×1
r ×1
reactjs ×1
sorting ×1
typescript ×1