我需要数组具有我正在生成的package main
import (
"bufio"
"fmt"
"log"
"os"
"regexp"
)
func main() {
fname, err := os.Open("C:\\Users\\UserName\\go\\src\\so56798431\\fname")
if err != nil {
log.Fatal(err)
}
defer fname.Close()
re, err := regexp.Compile("findme")
if err != nil {
// handle error
}
scanner := bufio.NewScanner(fname)
bytesRead := 0
for scanner.Scan() {
b := scanner.Text()
//fmt.Println(b)
results := re.FindAllStringIndex(b, -1)
for _, result := range results {
fmt.Println(bytesRead + result[0])
}
// account for UNIX EOL marker
bytesRead += len(b) + 1
}
if err := scanner.Err(); err != nil {
log.Fatal(err)
}
}
坐标的所有可能组合。该数组仍打印为(x,y)
的数组。
1
我希望在调用import numpy as np
coordinates = np.ones([1000, 2])
def translate (x,y):
dx = 5
dy = 5
return x + dx, y + dy
for i in range(0, 100):
for j in range(0, 100):
(x, y) = translate(i, j)
coordinates[i, j] = translate(x, y)
np.append(coordinates, translate(x, y), axis=None)
print(coordinates)
函数之后,坐标数组将接收正确的值,而不是translate
s数组。
答案 0 :(得分:0)
如果我的理解正确,您希望通过更改(x,y)
和x=0..99
然后添加一些y=0..99
和dx
可以生成所有可能的dy
坐标分别设置为x
和y
。
与您的方法类似,一种方法是初始化一个空列表,然后只需在元组后面附加您定义的翻译函数即可:
coordinates = []
def translate (x,y):
dx = 5
dy = 5
return x + dx, y + dy
for x in range(0, 100):
for y in range(0, 100):
coordinates.append(translate(x,y))
print(coordinates)
但是,可以对此进行改进。意识到您只是将dx
添加到每个x
,将dy
添加到每个y
,所以通过删除translate
,可以用更简单的代码实现相同的结果功能:
coordinates = []
dx, dy = 5, 5
for x in range(dx, 100+dx):
for y in range(dy, 100+dy):
coordinates.append((x,y))
print(coordinates)
这将给您相同的正确答案。