这可能衡量你是如何pythonic.我正在玩试图学习python所以我不能接近pythonic足够.infile是一个虚拟的patriline,我想要一份父亲的儿子名单.
INFILE:
haffi jolli dkkdk lkskkk lkslll sdkjl kljdsfl klsdlj sdklja asldjkl
Run Code Online (Sandbox Code Playgroud)
码:
def main():
infile = open('C:\Users\Notandi\Desktop\patriline.txt', 'r')
line = infile.readline()
tmpstr = line.split('\t')
for i in tmpstr[::2]:
print i, '\t', i + 1
infile.close()
main()
Run Code Online (Sandbox Code Playgroud)
问题是i + 1; 我想在每一行打印出两个字符串.这个清楚吗?
这一定很容易
这是file1(一列)
1
2
3
4
5
6
7
8
9
Run Code Online (Sandbox Code Playgroud)
这里是file2(两列)
2 yay
3 ups
4 wow
8 hey
Run Code Online (Sandbox Code Playgroud)
必须有一个简单的单行内容来打印file1中与file2不匹配的行
可以说我有一个这样的文件:
a b c d
2 3 4 5
9 8 7 4
5 7 8 4
Run Code Online (Sandbox Code Playgroud)
我想导出列a,c但没有别的.
我可以做一个版本的write.csv或write.table
例如 write.csv(myobject$a && myobject$b, file="outfile.csv")
这是columns.txt
aaa bbb 3
ccc ddd 2
eee fff 1
3 3 g
3 hhh i
jjj 3 kkk
ll 3 mm
nn oo 3
Run Code Online (Sandbox Code Playgroud)
我可以找到第二列以“b”开头的行:
awk '{if(substr($2,1,1)=="b") {print $0}}' columns.txt
Run Code Online (Sandbox Code Playgroud)
我可以找到第二列以“bb”开头的行:
awk '{if(substr($2,1,2)=="bb") {print $0}}' columns.txt
Run Code Online (Sandbox Code Playgroud)
为什么哦为什么我找不到第二列中第二个字符是“b”的行?:
awk '{if(substr($2,2,2)=="b") {print $0}}' columns.txt
Run Code Online (Sandbox Code Playgroud)
awk -W version== GNU Awk 3.1.8
我是新手
INFILE:
Baby 1902
Buby 1952
Boby 1950
Daisy 1990
Dassy 1940
Dasay 1960
Rob 1960
Bob 1990
Bolob 1970
Asdf 1999
Run Code Online (Sandbox Code Playgroud)
码:
#!/usr/bin/python
inData = open('crap3.txt')
Lina = inData.readline()
Lina = Lina.strip()
tmpFields = Lina.split('\t')
for line in inData:
bla = tmpFields[1]
print(bla)
Run Code Online (Sandbox Code Playgroud)
它打印出第一个出生年份十次.我希望它每年打印出来.
当我输入perl并推入终端时会发生什么?
我刚刚做了,没有任何事情发生,但窗帘后面发生了什么?
如果我输入python我输入一些Tron世界但不是在打字时perl或者很快我会被半人马和萨特包围.我会更新,如果我.
在尝试刷新我的R"知识"时玩耍,我做到了这一点
> a <- matrix(1:20, byrow=TRUE, nrow = 4)
> a
[,1] [,2] [,3] [,4] [,5]
[1,] 1 2 3 4 5
[2,] 6 7 8 9 10
[3,] 11 12 13 14 15
[4,] 16 17 18 19 20
> b <- a[3:4, 1:2]
> b
[,1] [,2]
[1,] 11 12
[2,] 16 17
> c <- matrix(b, byrow = TRUE, nrow = 2)
> c
[,1] [,2]
[1,] 11 16
[2,] 12 17
Run Code Online (Sandbox Code Playgroud)
为什么c不同b?引擎盖下会发生什么?
for i in list:
j = i + 1
print i - j
Run Code Online (Sandbox Code Playgroud)
这将打印出-1倍的长度 list
我想要做的是打印列表中值i和下一个值之间的差异.
我清楚了吗?
也许这很明显,但我如何根据其中的值来对字典进行排序?
喜欢这样:
{
"2010": [2],
"2009": [4,7],
"1989": [8]
}
Run Code Online (Sandbox Code Playgroud)
会成为这样的:
{
"2009": [4,7],
"2010": [2],
"1989": [8]
}
Run Code Online (Sandbox Code Playgroud)
我怎么才会返回有> 1值的键
"2009": [4,7]
Run Code Online (Sandbox Code Playgroud) INFILE:
1 3
2 3
3 3
4 3
8 3
9 3
12 3
14 3
18 3
19 3
20 3
25 3
26 3
27 3
28 3
30 3
31 3
32 3
36 3
38 3
101 3
109 3
Run Code Online (Sandbox Code Playgroud)
一旦我知道一个班轮计算十年的发生率.例如5月30日...我希望你现在这样做.一个python脚本会很棒.
期望的输出:
0 6
1 4
2 5
3 4
10 2
Run Code Online (Sandbox Code Playgroud) 我有这样一个文件:
Name Position Letter String
Bla 123 A ..B.,,,.C..
Bla 123 B ..a.,,,.C..
Bla 123 C ..b.,,,.A..
Run Code Online (Sandbox Code Playgroud)
我想替换.和,字母(在第一行中A)
最终产品:
Name Position Letter String
Bla 123 A AABAAAAACAA
Bla 123 B BBaBBBBBCBB
Bla 123 C CCbCCCCCACC
Run Code Online (Sandbox Code Playgroud)
awk思想是用第3列中的"the"字符替换第4列中的字符.我认为awk应该是正确的工具,但我坚持用字符串替换字符.
sed s/\(^.\{4\}\)./\\{3\}/ 没有工作,我认为sed可能是错误的工具.
欢迎awk/sed/python/perl/vi解决方案.