我有一个list:
lst = [[7], [4, 3, 5, 8], [1, 3]]
Run Code Online (Sandbox Code Playgroud)
如何将每个元素乘以list它的位置如下:
[[7 * 0],[4 * 0 + 3 * 1 + 5 * 2 + 8 * 3], [1 * 0 + 3 * 1]]
Run Code Online (Sandbox Code Playgroud)
并打印答案:
answer = [[0], [37], [3]]
Run Code Online (Sandbox Code Playgroud) 我有一个整数列表,我从一串文本中提取,所以当我打印列表(我已经调用test)时,我得到:
['135', '2256', '1984', '3985', '1991', '1023', '1999']
Run Code Online (Sandbox Code Playgroud)
我想打印或制作一个新的列表,其中只包含一定范围内的数字,例如1000-2000之间.我尝试了以下操作,但它仍然返回原始列表中的所有项目.
for i in test:
if i>1000:
print i
elif i<2000:
print i
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚为什么它仍然会打印低于1000或2000以上的数字.
如果我已经定义并打开了一个我决定调用的文件f,那么简单地说f = NULL而不是正确关闭文件会带来fclose()什么后果?
或者f = NULL甚至没有工作?
我想在数字之前加一个加号.我已经在使用格式说明符:
"{0:+03f}".format(x)
Run Code Online (Sandbox Code Playgroud)
我也听说过这两个,但我不知道如何使用它们:
"%+d" or "%+f"
Run Code Online (Sandbox Code Playgroud)
我的第一个问题是格式后的数字是浮点型.
例如,我正在制作一个小程序来计算二次函数,我不满意这样的输出:
f(x) = 2x^2+2.000x-4.000000
Run Code Online (Sandbox Code Playgroud)
那些零使它看起来很奇怪.
如果不是上面的话,有什么解决方案可以在没有任何东西的情况下摆脱零,但在点之后只有零吗?
#include <stdio.h>
#include <conio.h>
#define ENTER_KEY '\n'
#define NULL_TERMINATOR '\0'
int main()
{
char name[100], input;
int counter = 0;
while(input != ENTER_KEY)
{
input = getchar();
name[counter] = input;
counter++;
}
counter--;
name[counter] = NULL_TERMINATOR;
printf("%s", name);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
如果我写了一些东西,它应该连续保存在Array 这个名字中.而反应该我进入的每一个字符上去.但是如果我按Backspace,它看起来会让计数器减少.因为例如,如果我写"abcdef"并按退格键3次并将其更改为"abcxyz",然后按Enter键.它打印"abcxyz".
给定一个 csv 文件
A,0,0,1,0
B,0,0,1,0
C,0,0,1,0
D,0,0,1,0
E,0,0,1,0
F,0,0,0,1
Run Code Online (Sandbox Code Playgroud)
我想计算每列的总数。有没有比以下更Pythonic或更有效的方法来做到这一点:
import csv
totals = [0]*4
for row in csv.reader(csvfile):
counts = [ int(x) for x in row[-4:] ]
totals = [ sum(x) for x in zip(counts, totals) ]
print(totals)
Run Code Online (Sandbox Code Playgroud) 我了解如何使用全部位于单行中的元素进行简单的水平滚动。
单行演示:http : //jsfiddle.net/YbrX3/1504/
尽管我如何使用CSS进行多行元素滚动,如下所示:
1 | 3 | 5 | 7 | 9
---------------------------
2 | 4 | 6 | 8 | 10
Run Code Online (Sandbox Code Playgroud) 所以我有一个文件,每一行都有一些信息和日期(生日)。我想在给定日期之后打印带有日期的行。我使用这个 awk 命令
awk -F '|' 'FNR>1 $dateA<=$5 {print $1" "$2" "$3" "$4" "$5" "$6" "$7" "$8}' $FILE
Run Code Online (Sandbox Code Playgroud)
但它不能正常工作(打印所有文件行)。日期采用 YYYY-MM-DD 格式,因此字母顺序也是按时间顺序排列的。
编辑:输入文件中的一些行
1099511628908|Chen|Wei|female|1985-08-02|2010-05-24T20:52:26.582+0000|27.98.244.108|Firefox
1099511633435|Smith|Jack|male|1981-04-19|2010-05-26T03:45:11.772+0000|50.72.193.218|Internet Explorer
1099511635042|Kiss|Gyorgy|male|1984-09-14|2010-05-16T22:57:41.808+0000|91.137.244.86|Chrome
1099511635218|Law-Yone|Eric|male|1987-01-20|2010-05-26T20:10:22.515+0000|203.81.95.235|Chrome
1099511638444|Jasani|Chris|female|1981-05-22|2010-04-29T20:50:40.375+0000|196.223.11.62|Firefox
2199023256615|Arbelaez|Gustavo|male|1986-11-02|2010-07-17T18:53:47.633+0000|190.96.218.101|Chrome
Run Code Online (Sandbox Code Playgroud) 需要按最后一个元素对元组列表进行排序,元组可以为空.如果元组不为空,我知道如何排序:
sorted(lst, key=lambda p: p[-1]);
但是当列表有():IndexError: tuple index out of range.
我找不到如何避免它.
我的目标是在 C 中为二维 int 数组动态重新分配内存。我知道已经有几个关于该主题的问题,但不幸的是我的代码无法正常运行,我不知道出了什么问题。
首先我分配内存:
int n = 10;
int m = 4;
int** twoDimArray;
twoDimArray = (int**)malloc(n * sizeof(int*));
for(int i = 0; i < n; i++) {
twoDimArray[i] = (int*)malloc(m * sizeof(int));
}
Run Code Online (Sandbox Code Playgroud)
并用整数初始化数组:
for(int i = 0; i < n; i++) {
for(j = 0; j < 4; j++) {
twoDimArray[i][j] = i * j;
}
}
Run Code Online (Sandbox Code Playgroud)
然后我用来realloc()动态重新分配内存:
int plus = 10;
int newArraySize = n + plus;
twoDimArray = (int**)realloc(twoDimArray, newArraySize * sizeof(int)); …Run Code Online (Sandbox Code Playgroud)