好吧,基本上我必须检查一个字符串是否与另一个字符串具有相同的字母。这两个字符串都是通过input()获得的。
我不想再次检查某个字母是否在另一个字符串中,因此如果我已经检查了该字母,我想跳到下一个字母。
我现在的代码是这样的:
str1, str2 = list(input()), list(input())
if len(str1) > len(str2):
str = str1
else:
str = str2
for x in str:
c = 0
if x in str2:
c += 1
if c != 0:
print("Both have the same letters!")
else:
print("Nope there are some letters missing..")
Run Code Online (Sandbox Code Playgroud)
我不知道我是否应该使用列表而不是使用计数器..请详细解释解决方案或一些高质量的指导将非常感激!<3
我正在尝试在perl中解析文件。我想在正则表达式匹配后打印所有行
例如,文件是
num_of_dogs,10,#start_reading
num_of_cat,15
num_birds,20
num_of_butterfly,80
.....
Run Code Online (Sandbox Code Playgroud)
我要比赛后的所有台词 #start_reading
我已经尝试过了,但是只打印下一行
while (my $line = <$csv_file>) {
next unless $line =~ /(.*),#end_of_tc/;
if ($line =~ /(.*)/){
print $file = $1;
}
}
Run Code Online (Sandbox Code Playgroud)
输出看起来像这样
num_of_cats,15
num_of_birds,20
......
Run Code Online (Sandbox Code Playgroud)
提前致谢
我具有以下语法,但是每当在3.6中运行时,都会抛出错误:'_sre.SRE_Match'对象不是可下标的脚本在python3.7中工作正常,但在python3.6中出错
if {host}.issubset(sg_data['hosts'].split(',')):
saved_sg = [x for x in recorded_state if x['sg'] == sg_data['id'] and x['host'] == host][0]['data']
dec_saved_data = json.loads(self.encryption.decrypt(saved_sg).decode())
if sg_data['display_state'].lower() == 'offline':
if dec_saved_data['display_state'].lower() != 'offline':
yield from self.set_online(sg_data, host)
else:
parsed_host = re.search('^.*\((.*)\).*$', sg_data['display_state'])
if sg_data['display_type'].lower() == 'parallel':
if parsed_host:
if not {host}.issubset(parsed_host.group(1).split(',')):
yield from self.set_online(sg_data, host)
else:
if dec_saved_data['display_state'].lower() == 'offline':
yield from self.set_offline(sg_data, host)
else:
parsed_saved_host = re.search('^.*\((.*)\).*$', dec_saved_data['display_state'])
if parsed_saved_host:
if not {parsed_host[0]}.issubset(parsed_saved_host.group(1).split(',')):
yield from self.set_switch(sg_data, host)
if dec_saved_data['frozen'] != sg_data['frozen']:
if dec_saved_data['frozen'] …Run Code Online (Sandbox Code Playgroud) 给定一个由以下3行代码编译而成的代码对象:
code = compile('''a = 1 / 0 # bad stuff. avoid running this!
b = 'good stuff'
c = True''', '', 'exec')
Run Code Online (Sandbox Code Playgroud)
调用dis.dis(code)将分解为:
1 0 LOAD_CONST 0 (1)
2 LOAD_CONST 1 (0)
4 BINARY_TRUE_DIVIDE
6 STORE_NAME 0 (a)
2 8 LOAD_CONST 2 ('good stuff')
10 STORE_NAME 1 (b)
3 12 LOAD_CONST 3 (True)
14 STORE_NAME 2 (c)
16 LOAD_CONST 4 (None)
18 RETURN_VALUE
Run Code Online (Sandbox Code Playgroud)
如何仅提取并运行第二行的字节码b = 'good stuff'?
例如,如果我只想提取并运行c = True从字节索引开始的最后一行字节代码12,我可以对代码对象的co_code …
编写脚本使启动 lxc 容器更加灵活;根据测试用户需要更好的帮助:)
#!/usr/bin/env python3
import argparse
import sys
def parse_args():
parser = argparse.ArgumentParser(description="stand up an lxc container")
if len(sys.argv) == 1:
parser.format_help()
parser.add_argument("-4i", "--fouri", type=str, help="IPv4 address, if containername NOT in DNS (yet)")
parser.add_argument("-6i", "--sixi", nargs='?', const=1, default="::2", type=str, help="IPv6 address, if containername NOT in DNS (yet)")
parser.add_argument("-4m", "--fourm", nargs='?', const=1, default="24", type=str, help="IPv4 netmask, if unset '24'")
parser.add_argument("-6m", "--sixm", nargs='?', const=1, default="64", type=str, help="IPv6 netmask, if unset '64'")
parser.add_argument("-4g", "--fourg", type=str, help="IPv4 gateway")
parser.add_argument("-6g", "--sixg", nargs='?', const=1, default="::1", …Run Code Online (Sandbox Code Playgroud) 我有一个代码来创建一个 csv 文件并且可以将它上传到 ftp 服务器
with open(csv_file, 'w') as csvfile:
writer = csv.DictWriter(csvfile, fieldnames=csv_columns1) #csv_columns1 is a list of value to become as heading
writer.writeheader()
for data in vals['details']:# values for the header
writer.writerow(data)
writer = csv.DictWriter(csvfile, fieldnames=csv_columns2)#csv_columns1 is a list of value to become as heading
writer.writeheader()
writer = csv.DictWriter(csvfile, fieldnames=csv_columns)#csv_columns1 is a list of value to become as heading
writer.writeheader()
for data in vals['OrderLine']:# values for the header
writer.writerow(data)
print(os.system('pwd'))
Output_Directory = "ftp_path_to_store_file"
username = "ftp_user_names"
password = …Run Code Online (Sandbox Code Playgroud) 我找不到任何以前提出的与此类似的问题。我需要一个正则表达式来获取倒数第二个特殊字符之前的所有数据。
例如:
suite 1, street 1, zip city, country
Run Code Online (Sandbox Code Playgroud)
我只需要suite 1, street 1.
我知道如何使用最后一个特殊字符之前获取数据[^,]*$,但不使用倒数第二个字符。
我正在尝试用新号码替换文本文件中已有的号码。我打开了文件,我打开的文件名非常短:“example_Na.chem”,但我仍然收到错误:OSError:[Errno 36]文件名太长”。
我正在使用的代码是:
filename_chem = open('./input/example_Na/example_Na.chem', 'r').read()
input_file_chem = filename_chem.format(albeitSSA=albeitSSA)
with open(filename_chem, 'w') as fid:
fid.write(input_file_chem)
Run Code Online (Sandbox Code Playgroud) 我有列表列表,我需要通过 Python 遍历每个字符串,删除空格(条)并将列表保存到新列表中。
例如原始列表: org = [ [' a ','b '],['c ',' d '],['e ',' f'] ]
期待新列表: new = [ ['a','b'],['c','d'],['e','f'] ]
我从下面的代码开始,但不知道如何将剥离的对象添加到新的列表列表中。new.append(item) - 创建没有内部列表的简单列表。
new = []
for items in org:
for item in items:
item= item.strip()
new.append(item)
我有一个列表/元组的列表,例如:
objects = [
(1, "a", "foo"), # or I can make [1, "a", "foo"] instead
(20, "bb", "bar"),
(1231, "cde", "foo2"),
]
Run Code Online (Sandbox Code Playgroud)
现在我想修改每个元组的第一个值(例如,做一个简单的to_string转换):
objects = [
("1", "a", "foo"), # or I can make [1, "a", "foo"] instead
("20", "bb", "bar"),
("1231", "cde", "foo2"),
]
Run Code Online (Sandbox Code Playgroud)
目前,我创建了一个全新的列表:
objects_str = []
for object in objects:
objects_str.append((str(object[0]), object[1], object[2]))
Run Code Online (Sandbox Code Playgroud)
有没有更清洁的方法?我考虑过使用,namedtuple但看起来它们也是不可变的。另一种选择可能是使用:
objects_str = []
for object in objects:
object[0] = str(object[0])
objects_str.append(object)
Run Code Online (Sandbox Code Playgroud)
注意:我也可以对原始对象进行变异。