如果为了论证,我想要Python中10长度向量的最后五个元素,我可以在范围索引中使用" - "运算符,这样:
>>> x = range(10)
>>> x
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> x[-5:]
[5, 6, 7, 8, 9]
>>>
Run Code Online (Sandbox Code Playgroud)
R中最好的方法是什么?有没有比我现在的技术更简洁的方法,即使用length()函数?
> x <- 0:9
> x
[1] 0 1 2 3 4 5 6 7 8 9
> x[(length(x) - 4):length(x)]
[1] 5 6 7 8 9
>
Run Code Online (Sandbox Code Playgroud)
这个问题与btw的时间序列分析有关,通常只对最近的数据有用.
这是我的问题.
我正在尝试读取文本文件,然后将行转换为浮点数.该文本文件有\n和\t它虽然我不知道如何摆脱它.
我尝试使用,line.strip()但它没有取消它,当我想将这些东西转换为浮动时我得到了一个错误.然后我尝试了,line.strip("\n")但那也没用.我的程序工作正常,当我取出\t并\n从文本文件,但它的任务的一部分得到它与他们合作.
我真的不知道为什么这不起作用.谢谢你的帮助.
我想测试我的代码的Unicode处理.有什么我可以在random.choice()中选择从整个Unicode范围中选择,最好不是外部模块吗?谷歌和StackOverflow似乎都没有答案.
编辑:看起来这比预期的更复杂,所以我将重新解释这个问题 - 以下代码是否足以在Unicode中生成所有有效的非控制字符?
unicode_glyphs = ''.join(
unichr(char)
for char in xrange(1114112) # 0x10ffff + 1
if unicodedata.category(unichr(char))[0] in ('LMNPSZ')
)
Run Code Online (Sandbox Code Playgroud) 我有一个像\ uXXXX(表示)的字符串,我需要将其转换为unicode.我从第三方服务收到它,因此python解释器不转换它,我需要在我的代码中进行转换.我怎么用Python做的?
>>> s
u'\\u0e4f\\u032f\\u0361\\u0e4f'
Run Code Online (Sandbox Code Playgroud) 我正在使用漂亮的汤,我正在编写一个爬虫,并在其中包含以下代码:
print soup.originalEncoding
#self.addtoindex(page, soup)
links=soup('a')
for link in links:
if('href' in dict(link.attrs)):
link['href'].replace('..', '')
url=urljoin(page, link['href'])
if url.find("'") != -1:
continue
url = url.split('?')[0]
url = url.split('#')[0]
if url[0:4] == 'http':
newpages.add(url)
pages = newpages
Run Code Online (Sandbox Code Playgroud)
本link['href'].replace('..', '')应该修复出来的../contact/orderform.aspx,../contact/requestconsult.aspx,等等.但是,它不工作的链接.链接仍然是领先的".."有什么我想念的吗?
当我使用下面的结构循环文件时,我也想要当前的行号.
with codecs.open(filename, 'rb', 'utf8' ) as f:
retval = []
for line in f:
process(line)
Run Code Online (Sandbox Code Playgroud)
有类似的东西存在吗?
for line, lineno in f:
Run Code Online (Sandbox Code Playgroud) 我正在建立一个小程序,从用户那里获取2个地理坐标,然后计算它们之间的距离(考虑到地球的曲率).所以我查看维基百科,了解这里的公式.
基本上我基本上设置了我的python函数,这就是我想出的:
def geocalc(start_lat, start_long, end_lat, end_long):
start_lat = math.radians(start_lat)
start_long = math.radians(start_long)
end_lat = math.radians(end_long)
end_long = math.radians(end_long)
d_lat = start_lat - end_lat
d_long = start_long - end_long
EARTH_R = 6372.8
c = math.atan((math.sqrt( (math.cos(end_lat)*d_long)**2 +( (math.cos(start_lat)*math.sin(end_lat)) - (math.sin(start_lat)*math.cos(end_lat)*math.cos(d_long)))**2)) / ((math.sin(start_lat)*math.sin(end_lat)) + (math.cos(start_lat)*math.cos(end_lat)*math.cos(d_long))) )
return EARTH_R*c
Run Code Online (Sandbox Code Playgroud)
问题是结果真的不准确.我是python的新手,所以一些帮助或建议将不胜感激!
这是我的xlsx文件:

我希望将这些数据更改为这样的字典 :
{
0:{
'a':1,
'b':100,
'c':2,
'd':10
},
1:{
'a':8,
'b':480,
'c':3,
'd':14
}
...
}
Run Code Online (Sandbox Code Playgroud)
所以有人知道一个python lib来做这件事,并从第124行开始,第141行结束,
谢谢
我正在编写脚本来将我的链接及其标题从chrome导出到html.
存储为json的Chrome书签,采用utf编码
一些标题使用俄语,因此它们存储如下:
"name":"\ u0425\u0430\u0431\u0440\..."
import codecs
f = codecs.open("chrome.json","r", "utf-8")
data = f.readlines()
urls = [] # for links
names = [] # for link titles
ind = 0
for i in data:
if i.find('"url":') != -1:
urls.append(i.split('"')[3])
names.append(data[ind-2].split('"')[3])
ind += 1
fw = codecs.open("chrome.html","w","utf-8")
fw.write("<html><body>\n")
for n in names:
fw.write(n + '<br>')
# print type(n) # this will return <type 'unicode'> for each url!
fw.write("</body></html>")
Run Code Online (Sandbox Code Playgroud)
现在,在chrome.html中我把那些显示为\ u0425\u0430\u0431 ...
我怎么能把它们变回俄语?
使用python 2.5
s = '\u041f\u0440\u0438\u0432\u0435\u0442 world!'
type(s)
<type …Run Code Online (Sandbox Code Playgroud) 我有一个元组元组
import csv
A = (('Max', 3 ,' M'),('bob',5,'M'),('jane',6,'F'))
result = open("newfile.csv",'wb')
writer = csv.writer(result, dialect = 'excel')
writer.writerow(A)
result.close
Run Code Online (Sandbox Code Playgroud)
这将写入包含A [0],A [1]和A [2]的行的CSV文件.我想要的是一个名称,年龄和性别的行,它具有相应的值.