我想压缩两个不同长度的列表
例如
A = [1,2,3,4,5,6,7,8,9]
B = ["A","B","C"]
Run Code Online (Sandbox Code Playgroud)
而且我期待这一点
[(1, 'A'), (2, 'B'), (3, 'C'), (4, 'A'), (5, 'B'), (6, 'C'), (7, 'A'), (8, 'B'), (9, 'C')]
Run Code Online (Sandbox Code Playgroud)
但是内置zip不会重复与更大尺寸的列表配对.是否存在任何内置方式可以实现这一目标?谢谢
这是我的代码
idx = 0
zip_list = []
for value in larger:
zip_list.append((value,smaller[idx]))
idx += 1
if idx == len(smaller):
idx = 0
Run Code Online (Sandbox Code Playgroud) 我正在运行python脚本,但它不会显示图片.
我在这个程序的目录中有一个apple.jpg图像,它应该显示图片,但事实并非如此.这是代码:
#!/usr/bin/env python
from PIL import Image
Apple = Image.open("apple.jpg")
Apple.show()
Run Code Online (Sandbox Code Playgroud)
我的操作系统是Ubuntu,这个程序刚刚完成而没有显示任何错误.
我想打印几个数组,输出元素的字段宽度为3,我想我可以使用printf,但如果我使用printf那么我需要编写数组的所有元素的格式,但数组很大.
例如
@array = (1,10,100,30);
printf ("%3d %3d %3d %3d\n",$array[0],$array[1],$array[2],$array[3]);
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用循环打印元素,直到所有数组循环,但我认为这不是一个好主意.
有没有办法可以让我只描述一次元素的格式,然后自动应用于整个数组?
这样的事情?
printf ("%3d\n",@array);
Run Code Online (Sandbox Code Playgroud)
谢谢
我想遍历一个数组并检查一些元素是否等于特定条件.例如,我想删除元素包含"O",所以我可以这样做..
@Array = ("Apple","Orange","Banana");
for ($i=0 ; $i <= $#Array ; $i++) {
if( index($Array[$i],"O") >= 0 ) {
splice(@Array,$i,1);
}
}
Run Code Online (Sandbox Code Playgroud)
但如果我想使用foreach循环来替换for循环,我该怎么办?因为在foreach循环中,没有索引所以我不能使用splice,除非我设置一个变量来存储它.
在unix系统下..
我想在每个星期六运行一个perl脚本A.pl.我尝试了下面的代码,它的工作原理.但我想知道是否存在任何其他代码可以工作,但不会在繁忙的循环中继续检查时间?
while(1)
{
@Time = localtime();
if( $Time[6] eq "6" )
{
`perl A.pl`;
}
}
Run Code Online (Sandbox Code Playgroud) 我使用readdir来获取目录的文件,但我想删除.和..使用grep.输出显示它仍然包含.和..,但我无法弄清楚它有什么问题?
这是我的代码
#!/usr/bin/perl
opendir(Dir,$ARGV[0]);
@Dirs = readdir(Dir);
@Dirs = grep { $_ != /./ } @Dirs;
# @Dirs = grep { $_ =~ /^./ } @Dirs;
print join("\n",@Dirs);
Run Code Online (Sandbox Code Playgroud)
谢谢
我想获得我执行的perl脚本的绝对路径,例如
我当前的工作目录是/ home/Program/A/B,并且/home/Program/A/sort.pl中有一个perl脚本
当我在/ home/Program/A/B目录下输入perl时../sort.pl,我希望得到
绝对路径sort.pl是/home/Program/A/sort.pl
我的意思是无论我当前的工作目录是什么,我想获得perl的绝对路径
脚本是,如何实现?
谢谢
我看到一本书的描述......
书中说/^Apple/匹配的字符串在字符串的开头有一个Apple.所以它会匹配Apple Apple1 AppleApple AppleABC......
书中还说/Apple$/会匹配字符串中有一个Apple的字符串.所以它会ABCApple 12345Apple像那样......
但这本书说/^Apple$/只会匹配Apple.但我很困惑,我认为/^Apple$/应该匹配字符串"Apple"的开头和字符串"Apple"的结尾,所以AppleabcApple应该匹配,所以我很困惑.
我想创建10个一维数组,并将这10个一维数组放到另一个一维数组中,并将一些数据存储到某个特定的数组索引中.
但是我期望的输出应该是
expect output real output
0 1
1 1
0 1
3 1
0 1
5 1
0 1
7 1
0 1
0 1
Run Code Online (Sandbox Code Playgroud)
这是我的代码
@Hits = ();
# Create 10 one dimension array
for($i=0;$i<=9;$i++)
{
@Space = ();
push(@Hits,\@Space);
}
# Store some data to some index
push(@{$Hits[1]},1);
push(@{$Hits[3]},3);
push(@{$Hits[5]},5);
push(@{$Hits[7]},7);
# print the first element of 10 arrays
for($i=0;$i<=9;$i++)
{
print $Hits[$i]->[0];
print "\n";
}
Run Code Online (Sandbox Code Playgroud)
谢谢