4 دسامبر 2020
M سوال عجیبیه. اگر از یک ایمیج میخوای سه تا کانتینر درست کنی که میشه عملی هم هست مشکلی نیست. اگر میخوای روی پورتهای مختلف اکسپوز کنی که بازم مسالهای نیست. ولی اگه میخوای کدهای ایمیجهاش با هم فرق کنن که میتونی یا ایمیجهای متفاوت بسازی. از روی اونا کانتینر درست کنی یا این که با docker exec وارد کانتینر بشی و کد رو تغییر بدی که کار معقولی نیست. چون کانتینر رو پاک کنی هیچی دیگه نمیمونه ازش.ح
م سلام. خط جدید، عملا چیزی نیست جز یک (یا دو) کاراکتر. یعنی، عملا خطی وجود نداره؛ فقط یه سری کاراکتر هستن. این یه نکته. نکتهی دوم اینه که فایلها کاراکترها رو توی خودشون نگه میدارن. برای نوشتن توی فایل هم، یه اشارهگر هست که همیشه یه کاراکتر رو جایگزین میکنه؛ یعنی یه کاراکتر رو برمیداره و یه جدیدش رو روش مینویسه. پس، بهسادگی و بهخوبی چنین چیزی ممکن نیست (مگه اینکه طول خطها همیشه یکسان بمونه)؛ چون شما نمیتونین یه کاراکتر بین دو کاراکتر اضافه کنین، و مثل آرایه، برای این کار باید همهی کاراکترهای بعدی رو یه دونه به جلو انتقال (شیفت) بدین که خیلی زمانبره. احتمالا، بهترین کار همینه که بخشی از فایل که نیاز دارین تغییرش بدین رو بگیرین، و بعد تغییرش بدین و ادامهی فایل رو توش بنویسین.Я
ح
سلام. یک دیکشنری رو چطور بر اساس key و هم براساس value همزمان sort کنم . مثلا یه سری اسم داخل دیکشنری هستن که عدد دارن . اول بر اساس ترتیب عدد مرتب بشن بعد اگه دو تا اسم عدد برابر داشتن اون دوتا بر اساس حروف الفبا sort بشن.
مثلا ورودی :
{"a":22 , "e":23 , "b":25 , " g" =22}
اینجا به ترتیب عدد بشه بعد الان a و g عدد یکسانی دارن اول a چاپ بشه نه g:
a:22
g:22
e:23
b:25
M from functools import cmp_to_key def comparator(item1, item2): if item1[1] > item2[1]: return 1 elif item1[1] < item2[1]: return -1 elif item1[1] == item2[1]: if item1[0] >= item2[0]: return 1 else: return -1 return 0 input_dict = {"g": 22, "e": 23, "b": 25, "a": 22} input_list = [(i, input_dict[i]) for i in input_dict] sorted_list_tuple = sorted(input_list, key=cmp_to_key(comparator)) print(sorted_list_tuple)ح M
A ح ح ح ح
S ح