Это также можно сделать, используя partial
из стандартной библиотеки functools , например:
from functools import partial
#(...)
action_with_arg = partial(action, arg)
button = Tk.Button(master=frame, text='press', command=action_with_arg)
Как упомянуто в комментариях, которые вы ищете включает в себя :
const lis = ["", "5", "2", "", "2", ""];
const not_dupl = [], dupl = [];
for(const i of lis) {
console.log(i);
if(!not_dupl.includes(i) || i === '')
not_dupl.push(i);
else
dupl.push(i);
}
console.log(not_dupl, dupl);
PS: i
является плохим именем для неиндекса, также почему lis
и не просто list
, почему not_dupl
вместо nonDuplicates
?
var mylist = ["", "5", "2", "", "2", ""];
var not_dupl =[];
var dupl = [];
for (var i=0; i< mylist.length; i++){
if (not_dupl.includes(mylist[i]) === false || mylist[i]==='' ){
not_dupl.push(mylist[i])
} else {
dupl.push(mylist[i])
}
}
console.log(not_dupl);
console.log(dupl);
Вы можете сделать это с помощью набора:
Javascript:
var lis = ["", "5", "2", "", "2", ""];
var dups = new Set();
var dupl = a.filter(function(i){isDup=dups.has(i);dups.add(i);return isDup && i!=""});
Есть несколько способов сделать это, вы можете использовать array.includes(object)
или проверить array.indexOf(object) !== -1
, что поддержка include относительно плоха в Internet Explorer и Opera, так что вам следует устать от этого.
let lis = ["", "5", "2", "", "2", ""]
let not_dupl = [];
let dupl = [];
lis.forEach((element, index, array) => {
if (element === "" || not_dupl.indexOf(element) === -1) {
not_dupl.push(lis[index]);
} else {
dupl.push(lis[index]);
}
})
console.log(not_dupl); //# expected output ["", "5", "2", "", ""]
console.log(dupl); //# expected output ["2"]