怎么会有人继续计算列表中唯一项目的数量?
比如说我有{1,3,3,4,1,3},我想得到数字3,表示列表中唯一项目的数量(即| A | = 3,如果A = {1,3 ,4}).有人会使用什么算法?
我试过一个双循环:
for firstItem to lastItem
currentItem=a
for currentItem to lastItem
currentItem=b
if a==b then numberOfDublicates++
uniqueItems=numberOfItems-numberOfDublicates
Run Code Online (Sandbox Code Playgroud)
这不起作用,因为重复次数比实际需要的次数多.在开头的例子中,它将是:
关于如何解决这个问题的任何想法?
我无法使用Java集合中的预定义数据填充JSF组合框.
后端,收集的简单存根:
PriceRecord pr = new PriceRecord();
pr.setTypeCode(Arrays.asList(123L,456L));
Run Code Online (Sandbox Code Playgroud)
这不起作用,组合框保持为空:
<h:selectOneMenu value="#{price.typeCode}" var="code">
<f:selectItem value="#{code}"/>
</h:selectOneMenu>
Run Code Online (Sandbox Code Playgroud) 创建菜单栏及其项目时我没有遇到任何麻烦.但现在,当我得到一个问题如何使菜单项显示为列和行状表格时,我真的不知道这一点.
目标是使用java创建这种菜单项. 检查此链接.
现在,我只是认为我应该使用jpanel作为菜单项,然后应用flowlayout然后添加许多jlabel(s),就像我在网格中的menuitem一样.但不是最糟糕的吗?创建菜单项的最佳优惠是什么,例如上面链接中的图像预览?
我试过谷歌,但没有发现相关案例.CMIIW.
从阅读文档(http://effbot.org/tkinterbook/canvas.htm#reference),我似乎没有办法做到这一点.只是想确保我没有犯错.(例如,如果想要进行边界检查,则必须在程序内部存储各种项目的坐标.[例如,在移动椭圆形之前检查它不会碰到墙壁,由一条线表示当前画布,其坐标信息也存储.])
有货币汇率的数组,并且在inputTextField中输入了金额之后,我想更新此货币上的该数组中的所有项目,并将该货币放在tableView中,尝试使用循环来执行此操作,但这不能正常工作,因为这是解决方案刚刚放在表中的每个循环
inputTextField是文本字段的名称
receivedRates:[Double] = [1.1,1.6,2.0,1.3] // just example of the rates
for i in receivedRates {
let newValue = Double(i)*Double(Int(inputTextField.text!)!)
currentAmount.append(newValue)
receivedRates = currentAmount
}
Run Code Online (Sandbox Code Playgroud)
如何不循环地更新此数组,或者可能对此循环有其他解决方案?
list_a = [['name1', 4.12]]
list_b = [['name2', 2, 'name4', 4, 'name4', 1, 'name4', 6, 'name2', 6]]
def data_sums(matrix):
sums = defaultdict(int)
for name, value in matrix:
sums[name] += value
result = [[k,v] for k,v in sums.items()]
return result
Run Code Online (Sandbox Code Playgroud)
当我传递list_a给data_sums它时,它返回[['name1', 4.12]](对于这个特定的情况,它没有任何总和).
当我传递list_b给data_sums它时,它返回一个错误:
对于名称,矩阵中的值:ValueError:要解压缩的值太多
我试图理解为什么会发生这种情况,但这两个列表的嵌套结构看起来完全相同.
我有一个List对象,我想删除重复的项目,但在列表中至少留下一个重复的项目;
我写了这样的东西但是我会优化这段代码以获得更好的性能,有更快的东西吗?
Const chars As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
Dim rnd As New Random()
Dim mylist As List(Of String) = Enumerable.Range(1, 100).Select(Function(i) chars(rnd.Next(0, chars.Length)).ToString).ToList
For n As Integer = mylist.Count - 1 To n = 0 Step -1
'remove the item if it's duplicated
'but leave at least one of the duplicated items in the list
If mylist.IndexOf(mylist.Item(n), 0) < n Then
mylist.RemoveAt(n)
End If
Next
Run Code Online (Sandbox Code Playgroud) 我知道这很简单,但是尝试搜索并且找不到可以解决我问题的任何东西.
所以我想说我有这个数组:
var chicken = [10, 45, 150, 5000, 25000, 100000, 150000];
Run Code Online (Sandbox Code Playgroud)
我想删除除25000之外的所有内容.所以我尝试了一个简单的迭代:
for (var w=0; w<chicken.length; w++){
if (chicken[w]<25000 || chicken[w]>25000){
chicken.splice(w,1);
}
}
Run Code Online (Sandbox Code Playgroud)
它不起作用.输出是[45,5000,25000,150000],不知道为什么.
如何从列表 ids 中做到这一点,其中列表 cids 中的 10 个项目依次出现在 2 个项目上?
internal List<items> test(List<long> ids)
{
//ids = 10 items
List<long> cids = new List<long>(); // max 2 items in List<long> ids
var result= classA.GetValue(cids); //max cids items 2
return result;
}
Run Code Online (Sandbox Code Playgroud) 因此,我正在开发一款游戏,并且想要一些关于如何对项目进行排序的建议,以便在 Unity 中提供简单、清晰的编码参考。我知道我目前的方法有缺陷,我真的需要一些指导。
所以我正在做的是使用类来分隔项目类别及其项目。例如,以下是脚本设置的想法:
public class Items {
public class Equipment {
public class Weapons {
public Item Sword = new Item();
Sword.name = "Sword";
Sword.cost = 1;
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后是一个基本的 Item 类
public class Item {
public string name;
public int cost;
}
Run Code Online (Sandbox Code Playgroud)
我可以说这是一种糟糕的做法,尤其是基于我遇到的问题,但我喜欢使用像 Items.Equipment.Weapons.Sword 这样的引用的想法,并且我已经习惯了从我之前的 API 中使用它用过的。
我愿意彻底改变一切,我只是想要一些建议。谢谢。
我想我的主要问题是(是),组织嵌套类以便它们可以轻松地从其他脚本引用的最佳方法是什么?
我发现的答案是,就我而言,最好使用命名空间将项目分成类别,而不是嵌套类。太感谢了。