小编drb*_*sen的帖子

使用virtualenv和特定的Python版本有困难吗?

我试图了解如何使用除默认值之外的替代版本的Python创建一个隔离的python环境(在我的情况下,这是Python 2.7).virtualenv使用Python 2.7在我的系统上运行,但我似乎无法使用Python 3的版本创建虚拟环境.

我试图指定的Python版本在此列出这篇文章,就像这样:

$ virtualenv -p /usr/bin/python3.2
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释我如何virtualenv使用特定版本的Python 创建一个?非常感谢.

python virtualenv

5
推荐指数
1
解决办法
9270
查看次数

根据共同的第一项将子列表排序为新的子列表

我有大量的二元子列表,它们是名为 的列表的成员mylist

mylist = [['AB001', 22100],
          ['AB001', 32935],
          ['XC013', 99834],
          ['VD126', 18884],
          ['AB001', 34439],
          ['XC013', 86701]]
Run Code Online (Sandbox Code Playgroud)

我想根据mylist子列表是否包含与第一项相同的字符串来排序新的子列表。例如,这就是我正在寻找要输出的代码:

newlist = [['AB001', 22100], ['AB001', 32935], ['AB001', 34439]],
          [['XC013', 99834], ['XC013', 86701]],
          [['VD126', 18884]]
Run Code Online (Sandbox Code Playgroud)

这是我尝试编码的方式:

mylist = sorted(mylist)
newlist = []
for sublist in mylist:
    id = sublist[0]
if id == next.id:
    newlist.append(id)
print newlist
Run Code Online (Sandbox Code Playgroud)

我还试图了解是否itertools.groupby()是解决此问题的正确工具。有人可以帮我解决这个问题吗?

python sorting list

4
推荐指数
1
解决办法
385
查看次数

在Python中解析第4行大写字母?

如何解析大写字母第4次出现的文本行?例如给出以下行:

adsgasdlkgasYasdgjaUUalsdkjgaZsdalkjgalsdkjTlaksdjfgasdkgj
oiwuewHsajlkjfasNasldjgalskjgasdIasdllksjdgaPlsdakjfsldgjQ
Run Code Online (Sandbox Code Playgroud)

我想抓住:

`ZsdalkjgalsdkjTlaksdjfgasdkgj`
`PlsdakjfsldgjQ`
Run Code Online (Sandbox Code Playgroud)

我确信可能有比正则表达更好的方法,但我试图做一个非贪婪的比赛; 这样的事情:

match = re.search(r'[A-Z].*?$', line).group()
Run Code Online (Sandbox Code Playgroud)

python

4
推荐指数
1
解决办法
329
查看次数

使用re.sub?列表中的元素替换?

re.sub给定列表执行替换的最佳方法是什么?例如:

import re

some_text = 'xxxxxxx@yyyyyyyyy@zzzzzzzzz@'
substitutions = ['ONE', 'TWO', 'THREE']
x = re.sub('@', lambda i: i[0] substitutions.pop(0), some_text) # this doesn't actually work
Run Code Online (Sandbox Code Playgroud)

期望的输出是:

some_text = 'xxxxxxxONEyyyyyyyyyTWOzzzzzzzzzTHREE'
Run Code Online (Sandbox Code Playgroud)

python regex

4
推荐指数
1
解决办法
641
查看次数

使用数学从markdown创建ePub文件

我花了相当多的时间试图弄清楚如何获取一个包含TeX数学并将其转换为正确呈现数学的ePub文件的降价文件.

例如:

This is a markdown file. Here is a [link](www.example.com).

Here is some inline math: $\sigma_{i=1}^n \frac{\mu}{100}$

Here is an equation:

$$ y = mx + b $$
Run Code Online (Sandbox Code Playgroud)

如何将带有上述文本的markdown文件转换为ePub文件?

我使用Pandoc尝试了不同的转换方法; 但是,我仍然找不到使数学甚至50%正确的解决方案.

任何人都可以提供任何帮助,我怎么能这样做?

我已经尝试过这个解决方案以及其他Pandoc选项而没有成功.在此先感谢您的帮助.

math markdown latex tex pandoc

4
推荐指数
1
解决办法
1696
查看次数

从列表列表中删除重复项?

可能重复:
Python:从列表列表中删除重复项

从列表列表中删除重复项的最佳方法是什么?

我试图使用这样的集合:

L1 = [['fox', 'dog'],['bat', 'rat'],['fox', 'dog']]  
L1 = list(set(L1))
Run Code Online (Sandbox Code Playgroud)

不幸的是,我得到一个TypeError:unhashable类型:'list'.

在我的列表中有两次出现['fox','dog'].我希望L1删除副本,看起来像这样:

L1 = [['狐狸','狗'],['蝙蝠','老鼠']]

python list set

3
推荐指数
1
解决办法
2007
查看次数

在Python中将文件分割成带有关键字的文件?

我试图弄清楚如何使用关键字作为分割指示器来获取文件并分成子文件。就我而言,我有一个如下所示的大文件:

Racecar
line2...
line3...
Racecar
line5...
line6...
line7...
line8...
Racecar
line10...

每次出现该词时,Racecar我都想拆分文件并创建一个子文件。使用上面的示例,File_1 将有 3 行,File_2 将有 5 行,File_3 将有 2 行。这些文件看起来像这样:

文件_1:
Racecar
line2...
line3...

文件_2:
Racecar
line5...
line6...
line7...
line8...

文件_3:
Racecar
line10...

我意识到 sed 或 awk 之类的东西更适合于此,但我需要在 Python 中执行此操作。由于某种原因我真的被困在这个问题上了。我尝试写这样的东西:

with open("bigfile", mode="r") as bigfile:
    reader = bigfile.readlines()
    for i,line in enumerate(reader):
        if line.startswith("Racecar"):
            header = line
            header_num = i
Run Code Online (Sandbox Code Playgroud)

我似乎陷入了困境,因为我找不到找到下一次出现 Racecar 的方法。我一直想使用该next()函数,但显然这不适用于字符串。我正在使用的文件足够小,可以读入内存。谁能帮我这个?提前致谢。

python python-3.x

3
推荐指数
1
解决办法
6071
查看次数

具有递归元组函数的Haskell难度

我有一个小程序,它读入文件并将数据处理成自定义数据类型.正在读取的文件包含如下所示的数据行:

cat    10    20    dog
hamster    12    2    wombat
monkey    1    9    zebra
lion    30    60    rhino
...
Run Code Online (Sandbox Code Playgroud)

我处理文件的程序如下所示:

main :: IO ()
    main = do
    contents <- readFile "myfile.xyz"
    let process = clean contents
    let f = processFile process
    print f

clean :: String -> [[String]]
clean x = Prelude.map words $ lines x

processFile :: [[String]] -> [(XyzData)]
processFile [[a,b,c,d]] = [(XyzData a (read b :: Int) (read c :: Int) d)]
processFile (x:xs) = processFile xs 

data …
Run Code Online (Sandbox Code Playgroud)

recursion haskell

3
推荐指数
1
解决办法
570
查看次数

在Vim中帮助反向引用正则表达式

我试图在vi中编写一个正则表达式来匹配任何空格字符后跟任何数字.然后,在每次匹配时,在空格和数字之间插入一个美元符号.这是一个例子:

A1234 12 14 B1234
B1256 A2 14 C1245
C1234 34 D1 1234K
Run Code Online (Sandbox Code Playgroud)

正确的正则表达式会产生这个:

A1234 $12 $14 B1234
B1256 A2 14 C1245
C1234 $34 D1 $1234K
Run Code Online (Sandbox Code Playgroud)

我意识到我需要使用后向引用,但我似乎无法编写正确的正则表达式.这是我的尝试:

:'<,'>/(\s\d)/\s\1\$/g
Run Code Online (Sandbox Code Playgroud)

此外,我关闭了Vim的默认正则表达式模式(vnoremap / /\v).

谢谢您的帮助.

regex vim backreference

2
推荐指数
2
解决办法
4249
查看次数

使用ggplot boxplot进行位置躲避警告?

我正在尝试使用以下代码制作带有ggplot2的boxplot:

p <- ggplot(data, aes(d$score, reorder(d$names d$scores, median))) + geom_boxplot()
Run Code Online (Sandbox Code Playgroud)

我有称为分数的名称和整数因子.

我的代码生成了一个图,但图形没有描述框(只显示行),我收到一条警告信息,"position_dodge需要非重叠的x区间." 我试图调整高度和宽度geom_boxplot(width=5),但这似乎没有解决问题.任何人都可以建议解决我的问题吗?

我应该指出,我的boxplot相当大,在y轴上有大约200个名称值).也许这就是问题?

r ggplot2

2
推荐指数
2
解决办法
1万
查看次数

标签 统计

python ×6

list ×2

regex ×2

backreference ×1

ggplot2 ×1

haskell ×1

latex ×1

markdown ×1

math ×1

pandoc ×1

python-3.x ×1

r ×1

recursion ×1

set ×1

sorting ×1

tex ×1

vim ×1

virtualenv ×1