我的问题是我有一个列表,例如.
lst = [2, 5, 7, 12, 13]
lst.pop(3) #12
lst.pop(4) #13
Run Code Online (Sandbox Code Playgroud)
因为lst [3]已被删除,所以[4]不再存在(超出范围).这给了我一个错误.现在我知道你可以说你的代码更改为:...
lst.pop(4) #13
lst.pop(3) #12
Run Code Online (Sandbox Code Playgroud)
...并且它修复了错误,但我的问题是我的实际代码是'弹出'随机数,所以它需要同时完成以避免错误.
有没有同时'弹出'的方法?...就像这样的东西:
lst.pop(3, 4) #12 and 13 at once
Run Code Online (Sandbox Code Playgroud)
谢谢你的回答.
我在网上看到,人们可以将旅行商问题写成线性表达式,并使用CPLEX for java等软件进行计算.
我有1000个城镇,需要找一小段距离.我计划将这1000个城镇划分为约100个城镇的集群,并在这些单独的集群上执行一些线性规划算法.
我的问题是,我究竟如何将其表示为线性表达式.
所以我有100个城镇,我相信每个人都知道TSP是如何工作的.
我完全不知道如何编写满足TSP的线性约束,目标和变量.
有人可以向我解释这是如何完成的,或者给我一个清楚解释它的链接,因为我一直在研究很多,似乎找不到任何东西.
编辑:
我找到了一些额外的信息:
我们用数字0到n标记城市并定义矩阵:

这会为5个城镇产生以下矩阵吗?

限制是:
i)每个城市都来自其他城市
ii)从每个城市出发前往另一个城市
iii)该路线不会分成不同的岛屿.
同样,这对我来说是完全合理的,但我仍然无法将这些约束写为线性表达式.显然它是一个简单的矩阵.
谢谢你的帮助 !
algorithm linear-algebra linear-programming traveling-salesman cplex
import tkinter as tk
import pygame
pygame.init()
ss = width, height = 1024, 600
screen = pygame.display.set_mode(ss)
tkinput_1 = True
while True:
event = pygame.event.poll()
keys = pygame.key.get_pressed()
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
screen.fill((0,0,0))
if tkinput_1 == True:
tkinput_root1 = tk.Tk()
tkinput_root1.geometry("200x200")
tkinput_root1.title("How many teams?")
tkinput_input1 = tk.Entry(tkinput_root1)
tkinput_1 = False
pygame.display.update()
tkinput_root1.mainloop()
Run Code Online (Sandbox Code Playgroud)
这只是我给tkinter文本输入框一个pygame的镜头.我相当肯定它不会正常工作,但我决定尝试它,因为我没有什么可失去的.在您退出pygame之前,tkinter屏幕不会显示.所以,我不是在问是否有人知道如何修复代码,而是如果有人知道在pygame中创建文本框的最简单方法.我知道有一个可以导入的textinput类模块.如果您认为这是最简单的方法,那么您可以引导我完成它.如果没有,请告诉我你认为最简单的方法.这是一个小程序,所以我想避免一些简单的文本框的大量代码.让我知道你们的想法.非常感谢提前.
非常基本的问题.我们有代码:
a = input("how old are you")
if a == string:
do this
if a == integer (a != string):
do that
Run Code Online (Sandbox Code Playgroud)
显然它不会那样工作.但是最简单的方法是什么呢.感谢您提前得到任何答案.
我们也可以说:
if string in a:
do this
Run Code Online (Sandbox Code Playgroud) 假设我有一个列表/数组的部分:
let sections = [new Section("today", todaylist),
new Section("yesterday", yestlist),
new Section("25th February", list25f),...]
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,每个部分都有一个部分名称和一个对象列表,这些对象将填充该特定部分中的单元格.
现在,让我们说这些对象只是简单的字符串.
我将如何以编程方式循环sections并创建具有适当标题和适当数量的单元格的新部分.
即 - 部分号的单元格数量.我会:
sections[i].getList().count
Run Code Online (Sandbox Code Playgroud)
在"今天"的情况下,这相当于
todaylist.count
Run Code Online (Sandbox Code Playgroud)
我无法在故事板中添加部分,因为它会有所不同,表格视图将是动态的!
谢谢你的帮助 !
我有一个UITableView, tViewNews
我有一个刷新功能,从我的服务器下载数据,将其存储到核心数据,然后表视图从核心数据加载这些数据.
它完美地运作
func refresh(refreshControl: UIRefreshControl) {
self.newsArray = [NewsItem]()
self.newslists = [[NewsItem]]()
self.getNewsFromServer()
self.getNewsFromCoreData()
self.tViewNews.reloadData()
refreshControl.endRefreshing()
}
Run Code Online (Sandbox Code Playgroud)
现在,当用户第一次打开新闻时viewDidLoad(),我希望表视图首先从核心数据加载,然后从服务器异步填充我的表视图数组(使用与刷新函数完全相同的方法),然后重新加载表视图.
所以我在我的viewDidLoad()函数中尝试了以下代码.
override func viewDidLoad() {
super.viewDidLoad()
// Getting news from Core Data
getNewsFromCoreData()
// Updating core data from server and populating table view from core data
dispatch_async(dispatch_get_main_queue()) {
self.newsArray = [NewsItem]()
self.newslists = [[NewsItem]]()
self.getNewsFromServer()
self.getNewsFromCoreData()
self.tViewNews.reloadData()
}
Run Code Online (Sandbox Code Playgroud)
如您所见,在异步请求中运行的函数与刷新函数内的函数相同.
但是!,刷新功能正常运行,填充并重新加载表视图.但异步请求绝对没有任何作用.表格视图仍为空.但正如使用print语句测试的那样,函数正在运行.
任何人都知道为什么会这样吗?
编辑 - 增加了额外的功能
获取核心数据
func getNewsFromCoreData() {
let temp = StaffCoreData()
temp.getAllNews()
newsDates = Dictionary<Int, …Run Code Online (Sandbox Code Playgroud) 我在屏幕中心有一个圆圈,50两端都有边距限制.因此,圆的宽度取决于屏幕尺寸.
所以,我试过的是这个:
方法1
我在故事板中设置边距以定义圆宽(50左右)
然后我使用了以下代码:
@IBOutlet weak var helpButHeight: NSLayoutConstraint!
@IBOutlet weak var helpBut: UIButton!
Run Code Online (Sandbox Code Playgroud)
viewDidLoad中:
helpButHeight.constant = helpBut.frame.size.width
Run Code Online (Sandbox Code Playgroud)
这没用.
由于屏幕宽度是400,并且边距是50两端,所以helpBut.frame.size.width应该给我300.
相反,它给了我46.
方法2
这是我的解决方法:
viewDidLoad中:
let screenSize: CGRect = UIScreen.mainScreen().bounds
helpButHeight.constant = screenSize.width - 100
Run Code Online (Sandbox Code Playgroud)
因为100 = 50 + 50,两个边缘.
工作良好 !
题
我为什么要这样做?为什么第一种方法不起作用?为什么46不300呢?
我在cellForRowAtIndexPath中有这个
cell.plusBut.tag = indexPath.row
cell.plusBut.addTarget(self, action: "plusHit:", forControlEvents: UIControlEvents.TouchUpInside)
Run Code Online (Sandbox Code Playgroud)
而这个功能在外面:
func plusHit(sender: UIButton!){
buildings[sender.tag].something = somethingElse
}
Run Code Online (Sandbox Code Playgroud)
是否有可能发送indexPath.row 和 indexPath.section,或某些替代?
谢谢!
编辑
我这样接近它:
我的自定义按钮
class MyButton: UIButton{
var myRow: Int = 0
var mySection: Int = 0
}
Run Code Online (Sandbox Code Playgroud)
我的自定义细胞
class NewsCell: UITableViewCell{
@IBOutlet weak var greenLike: MyButton!
Run Code Online (Sandbox Code Playgroud)
在CellForRowAtIndexPath中
cell.greenLike.myRow = indexPath.row
Run Code Online (Sandbox Code Playgroud)
我在这一行上收到错误.
我正在使用Java作为查询Hbase的客户端.
我的Hbase表设置如下:
ROWKEY | HOST | EVENT
-----------|--------------|----------
21_1465435 | host.hst.com | clicked
22_1463456 | hlo.wrld.com | dragged
. . .
. . .
. . .
Run Code Online (Sandbox Code Playgroud)
我需要做的第一件事是让所有的清单ROWKEYs已host.hst.com与它相关联.
我可以在Column上创建一个扫描器,host对于每个行值,column value = host.hst.com我将添加相应ROWKEY的列表.看起来效率很高.O(n)获取所有行.
现在是困难的部分.对于ROWKEY列表中的每一个,我需要得到相应的EVENT.
如果我使用普通GET命令来获取单元格(ROWKEY, EVENT),我相信会创建一个扫描程序EVENT,需要O(n)时间才能找到正确的单元格并返回值.这对每个人来说都是非常糟糕的时间复杂性ROWKEY.结合这两者给了我们O(n^2).
有没有更有效的方法来解决这个问题?
非常感谢您提前帮助!
我有一个依赖项,package.json它本身具有以下依赖项:
"node-rdkafka": "^2.5.0",
使用nvm我的本地机器上,我的节点版本设置8.9.1,我的npm版本是5.5.1,我可以成功运行
npm install node-rdkafka@2.7.1
但是当npm install从我的 docker 镜像中运行相同的东西(即)时:
FROM node:10.13.0-alpine 或者 FROM node:8.9.1-alpine
我收到以下错误:
npm ERR! notsup Unsupported engine for node-rdkafka@2.7.1: wanted: {"node":">=12.0.0"} (current: {"node":"10.13.0","npm":"6.4.1"})
npm ERR! notsup Not compatible with your version of node/npm: node-rdkafka@2.7.1
npm ERR! notsup Not compatible with your version of node/npm: node-rdkafka@2.7.1
npm ERR! notsup Required: {"node":">=12.0.0"}
npm ERR! notsup Actual: {"npm":"6.4.1","node":"10.13.0"}
Run Code Online (Sandbox Code Playgroud)
关于这种不一致的任何想法?
我显然不需要这么高的节点版本。但它说我愿意。
ios ×4
swift ×4
python ×3
uitableview ×3
input ×2
python-3.x ×2
algorithm ×1
alpine-linux ×1
asynchronous ×1
button ×1
constraints ×1
cplex ×1
docker ×1
hadoop ×1
hadoop2 ×1
hbase ×1
if-statement ×1
iphone ×1
java ×1
list ×1
mapreduce ×1
node.js ×1
npm ×1
nvm ×1
pygame ×1
sender-id ×1
string ×1
textbox ×1
tkinter ×1